[INFO] fetching crate unionize 0.3.0... [INFO] testing unionize-0.3.0 against 1.90.0 for beta-1.91-3 [INFO] extracting crate unionize 0.3.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate unionize 0.3.0 [INFO] finished tweaking crates.io crate unionize 0.3.0 [INFO] tweaked toml for crates.io crate unionize 0.3.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate unionize 0.3.0 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate unionize 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_cbor v0.10.2 [INFO] [stderr] Downloaded serde_derive v1.0.164 [INFO] [stderr] Downloaded prettyplease v0.2.5 [INFO] [stderr] Downloaded proptest v1.1.0 [INFO] [stderr] Downloaded serde v1.0.164 [INFO] [stderr] Downloaded xs233-sys v0.2.0 [INFO] [stderr] Downloaded xs233 v0.3.0 [INFO] [stderr] Downloaded sise v0.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2432433ae5e6bef3b72fe87a091cf151be4c99ca3a31fa1ff59531c2f67992e4 [INFO] running `Command { std: "docker" "start" "-a" "2432433ae5e6bef3b72fe87a091cf151be4c99ca3a31fa1ff59531c2f67992e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2432433ae5e6bef3b72fe87a091cf151be4c99ca3a31fa1ff59531c2f67992e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2432433ae5e6bef3b72fe87a091cf151be4c99ca3a31fa1ff59531c2f67992e4", kill_on_drop: false }` [INFO] [stdout] 2432433ae5e6bef3b72fe87a091cf151be4c99ca3a31fa1ff59531c2f67992e4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f23432298cd6c4d59196bf8f5f84ad0ec4f5cfe5abbe681ed5eb28c9ca44e15b [INFO] running `Command { std: "docker" "start" "-a" "f23432298cd6c4d59196bf8f5f84ad0ec4f5cfe5abbe681ed5eb28c9ca44e15b", 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 typenum v1.16.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling either v1.8.1 [INFO] [stderr] Compiling bindgen v0.65.1 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling regex-syntax v0.7.1 [INFO] [stderr] Compiling io-lifetimes v1.0.10 [INFO] [stderr] Compiling rustix v0.37.11 [INFO] [stderr] Compiling shlex v1.1.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling linux-raw-sys v0.3.1 [INFO] [stderr] Compiling libm v0.2.6 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling clang-sys v1.6.1 [INFO] [stderr] Compiling cpufeatures v0.2.7 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling nom v2.2.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling sise v0.8.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling syn v2.0.16 [INFO] [stderr] Compiling procinfo v0.4.2 [INFO] [stderr] Compiling which v4.4.0 [INFO] [stderr] Compiling getrandom v0.2.9 [INFO] [stderr] Compiling wait-timeout v0.2.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rand_core v0.6.4 [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 regex v1.8.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling sha2 v0.10.6 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.72s [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" "f23432298cd6c4d59196bf8f5f84ad0ec4f5cfe5abbe681ed5eb28c9ca44e15b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f23432298cd6c4d59196bf8f5f84ad0ec4f5cfe5abbe681ed5eb28c9ca44e15b", kill_on_drop: false }` [INFO] [stdout] f23432298cd6c4d59196bf8f5f84ad0ec4f5cfe5abbe681ed5eb28c9ca44e15b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 001720e0aa7b1a8c4e4eac476f0c1d1aeaab02501bff90fc5997c866959e1d0a [INFO] running `Command { std: "docker" "start" "-a" "001720e0aa7b1a8c4e4eac476f0c1d1aeaab02501bff90fc5997c866959e1d0a", 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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.01s [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" "001720e0aa7b1a8c4e4eac476f0c1d1aeaab02501bff90fc5997c866959e1d0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "001720e0aa7b1a8c4e4eac476f0c1d1aeaab02501bff90fc5997c866959e1d0a", kill_on_drop: false }` [INFO] [stdout] 001720e0aa7b1a8c4e4eac476f0c1d1aeaab02501bff90fc5997c866959e1d0a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 458b73a9c588d5dc7e570c1d2849993e4610623511634889dd44f08b96ec575f [INFO] running `Command { std: "docker" "start" "-a" "458b73a9c588d5dc7e570c1d2849993e4610623511634889dd44f08b96ec575f", kill_on_drop: false }` [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/tree/mem_rc_bounds/mod.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct Tree(Rc>); [INFO] [stderr] | ---- ^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `Tree` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` 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.16s [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-989f7b48903122e0) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test monoid::timestamped::tests::timestamped_is_protocolmonoid ... ok [INFO] [stdout] test query::item_filter::tests::base_test ... ok [INFO] [stdout] test query::item_filter::tests::repro_atttempt ... ok [INFO] [stdout] test monoid::mulhash_xs233::tests::serialize_correctness ... ok [INFO] [stdout] test item::le_byte_array::tests::serialize_correctness ... ok [INFO] [stdout] test range::tests::serialize_correctness ... ok [INFO] [stdout] test query::split::test::split_correctness ... ok [INFO] [stdout] test query::simple::test::simple_correctness ... ok [INFO] [stdout] test protocol::tests::serialize_correctness ... ok [INFO] [stdout] test protocol::tests::serialize_correctness_stream ... 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: {2, 9, 26, 35, 41, 42, 74, 85, 105, 118, 119, 141, 145, 146, 157, 164, 171, 191, 207, 235, 250, 260, 282, 305, 309, 311, 330, 336, 354, 357, 365, 385, 414, 422, 426, 437, 438, 461, 468, 476, 482, 492, 520, 522, 547, 550, 569, 571, 583, 615, 672, 692, 707, 718, 723, 725, 735, 739, 815, 816, 835, 919, 948, 993, 995, 997} [INFO] [stdout] b items: {14, 17, 62, 71, 80, 82, 86, 103, 116, 130, 138, 141, 147, 161, 193, 194, 228, 233, 246, 255, 261, 264, 269, 302, 340, 388, 406, 407, 435, 438, 449, 479, 497, 525, 539, 630, 647, 658, 661, 664, 674, 679, 735, 763, 764, 777, 779, 789, 796, 797, 809, 861, 867, 876, 885, 938, 953, 968, 988, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 998), fp: EncodedCountingMonoid(66, SumMonoid(28079)) }], item_sets: [ItemSet { range: Range(998, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 449), fp: EncodedCountingMonoid(30, SumMonoid(6207)) }, Fingerprint { range: Range(449, 998), fp: EncodedCountingMonoid(29, SumMonoid(21447)) }], item_sets: [ItemSet { range: Range(998, 2), items: [998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 235), fp: EncodedCountingMonoid(19, SumMonoid(1978)) }, Fingerprint { range: Range(235, 449), fp: EncodedCountingMonoid(18, SumMonoid(6216)) }, Fingerprint { range: Range(449, 707), fp: EncodedCountingMonoid(15, SumMonoid(8220)) }, Fingerprint { range: Range(707, 998), fp: EncodedCountingMonoid(14, SumMonoid(11665)) }], item_sets: [], wants: [998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 130), fp: EncodedCountingMonoid(9, SumMonoid(631)) }, Fingerprint { range: Range(130, 235), fp: EncodedCountingMonoid(9, SumMonoid(1565)) }, Fingerprint { range: Range(235, 340), fp: EncodedCountingMonoid(6, SumMonoid(1597)) }, Fingerprint { range: Range(340, 449), fp: EncodedCountingMonoid(6, SumMonoid(2414)) }, Fingerprint { range: Range(449, 647), fp: EncodedCountingMonoid(6, SumMonoid(3119)) }, Fingerprint { range: Range(647, 707), fp: EncodedCountingMonoid(6, SumMonoid(3983)) }, Fingerprint { range: Range(707, 861), fp: EncodedCountingMonoid(9, SumMonoid(7009)) }, Fingerprint { range: Range(861, 998), fp: EncodedCountingMonoid(8, SumMonoid(7336)) }], item_sets: [], wants: [], provide: [(998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 74), fp: EncodedCountingMonoid(6, SumMonoid(155)) }, Fingerprint { range: Range(74, 130), fp: EncodedCountingMonoid(5, SumMonoid(501)) }, Fingerprint { range: Range(130, 164), fp: EncodedCountingMonoid(4, SumMonoid(589)) }, Fingerprint { range: Range(164, 235), fp: EncodedCountingMonoid(4, SumMonoid(733)) }, Fingerprint { range: Range(235, 309), fp: EncodedCountingMonoid(5, SumMonoid(1332)) }, Fingerprint { range: Range(309, 340), fp: EncodedCountingMonoid(4, SumMonoid(1286)) }, Fingerprint { range: Range(340, 422), fp: EncodedCountingMonoid(5, SumMonoid(1875)) }, Fingerprint { range: Range(422, 449), fp: EncodedCountingMonoid(4, SumMonoid(1723)) }, Fingerprint { range: Range(449, 547), fp: EncodedCountingMonoid(7, SumMonoid(3421)) }, Fingerprint { range: Range(547, 647), fp: EncodedCountingMonoid(6, SumMonoid(3435)) }, Fingerprint { range: Range(707, 739), fp: EncodedCountingMonoid(5, SumMonoid(3608)) }, Fingerprint { range: Range(739, 861), fp: EncodedCountingMonoid(4, SumMonoid(3205)) }, Fingerprint { range: Range(861, 995), fp: EncodedCountingMonoid(3, SumMonoid(2860)) }], item_sets: [ItemSet { range: Range(647, 707), items: [672, 692], want_response: true }, ItemSet { range: Range(995, 998), items: [995, 997], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(74, 103), fp: EncodedCountingMonoid(3, SumMonoid(248)) }, Fingerprint { range: Range(130, 147), fp: EncodedCountingMonoid(3, SumMonoid(409)) }, Fingerprint { range: Range(235, 264), fp: EncodedCountingMonoid(3, SumMonoid(762)) }, Fingerprint { range: Range(264, 309), fp: EncodedCountingMonoid(3, SumMonoid(835)) }, Fingerprint { range: Range(449, 525), fp: EncodedCountingMonoid(3, SumMonoid(1425)) }, Fingerprint { range: Range(739, 789), fp: EncodedCountingMonoid(4, SumMonoid(3083)) }, Fingerprint { range: Range(789, 861), fp: EncodedCountingMonoid(4, SumMonoid(3191)) }, Fingerprint { range: Range(861, 938), fp: EncodedCountingMonoid(4, SumMonoid(3489)) }, Fingerprint { range: Range(938, 995), fp: EncodedCountingMonoid(4, SumMonoid(3847)) }], item_sets: [ItemSet { range: Range(647, 707), items: [647, 658, 661, 664, 674, 679], want_response: false }, ItemSet { range: Range(995, 998), items: [], want_response: false }, ItemSet { range: Range(2, 62), items: [14, 17], want_response: true }, ItemSet { range: Range(62, 74), items: [62, 71], want_response: true }, ItemSet { range: Range(103, 130), items: [103, 116], want_response: true }, ItemSet { range: Range(147, 164), items: [147, 161], want_response: true }, ItemSet { range: Range(164, 228), items: [193, 194], want_response: true }, ItemSet { range: Range(228, 235), items: [228, 233], want_response: true }, ItemSet { range: Range(309, 340), items: [], want_response: true }, ItemSet { range: Range(340, 406), items: [340, 388], want_response: true }, ItemSet { range: Range(406, 422), items: [406, 407], want_response: true }, ItemSet { range: Range(422, 449), items: [435, 438], want_response: true }, ItemSet { range: Range(525, 547), items: [525, 539], want_response: true }, ItemSet { range: Range(547, 647), items: [630], want_response: true }, ItemSet { range: Range(707, 739), items: [735], want_response: true }], wants: [672, 692, 995, 997], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(449, 492), fp: EncodedCountingMonoid(4, SumMonoid(1887)) }, Fingerprint { range: Range(492, 525), fp: EncodedCountingMonoid(3, SumMonoid(1534)) }], item_sets: [ItemSet { range: Range(2, 62), items: [2, 9, 26, 35, 41, 42], want_response: false }, ItemSet { range: Range(62, 74), items: [], want_response: false }, ItemSet { range: Range(103, 130), items: [105, 118, 119], want_response: false }, ItemSet { range: Range(147, 164), items: [157], want_response: false }, ItemSet { range: Range(164, 228), items: [164, 171, 191, 207], want_response: false }, ItemSet { range: Range(228, 235), items: [], want_response: false }, ItemSet { range: Range(309, 340), items: [309, 311, 330, 336], want_response: false }, ItemSet { range: Range(340, 406), items: [354, 357, 365, 385], want_response: false }, ItemSet { range: Range(406, 422), items: [414], want_response: false }, ItemSet { range: Range(422, 449), items: [422, 426, 437, 438], want_response: false }, ItemSet { range: Range(525, 547), items: [], want_response: false }, ItemSet { range: Range(547, 647), items: [547, 550, 569, 571, 583, 615], want_response: false }, ItemSet { range: Range(707, 739), items: [707, 718, 723, 725, 735], want_response: false }, ItemSet { range: Range(74, 103), items: [74, 85], want_response: true }, ItemSet { range: Range(130, 146), items: [141, 145], want_response: true }, ItemSet { range: Range(146, 147), items: [146], want_response: true }, ItemSet { range: Range(235, 260), items: [235, 250], want_response: true }, ItemSet { range: Range(260, 264), items: [260], want_response: true }, ItemSet { range: Range(264, 309), items: [282, 305], want_response: true }, ItemSet { range: Range(739, 789), items: [739], want_response: true }, ItemSet { range: Range(789, 835), items: [815, 816], want_response: true }, ItemSet { range: Range(835, 861), items: [835], want_response: true }, ItemSet { range: Range(861, 938), items: [919], want_response: true }, ItemSet { range: Range(938, 995), items: [948, 993], want_response: true }], wants: [647, 658, 661, 664, 674, 679, 14, 17, 62, 71, 103, 116, 147, 161, 193, 194, 228, 233, 340, 388, 406, 407, 435, 525, 539, 630], provide: [(672, true), (692, true), (995, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(74, 103), items: [80, 82, 86], want_response: false }, ItemSet { range: Range(130, 146), items: [130, 138, 141], want_response: false }, ItemSet { range: Range(146, 147), items: [], want_response: false }, ItemSet { range: Range(235, 260), items: [246, 255], want_response: false }, ItemSet { range: Range(260, 264), items: [261], want_response: false }, ItemSet { range: Range(264, 309), items: [264, 269, 302], want_response: false }, ItemSet { range: Range(739, 789), items: [763, 764, 777, 779], want_response: false }, ItemSet { range: Range(789, 835), items: [789, 796, 797, 809], want_response: false }, ItemSet { range: Range(835, 861), items: [], want_response: false }, ItemSet { range: Range(861, 938), items: [861, 867, 876, 885], want_response: false }, ItemSet { range: Range(938, 995), items: [938, 953, 968, 988], want_response: false }, ItemSet { range: Range(449, 492), items: [449, 479], want_response: true }, ItemSet { range: Range(492, 525), items: [497], want_response: true }], wants: [2, 9, 26, 35, 41, 42, 105, 118, 119, 157, 164, 171, 191, 207, 309, 311, 330, 336, 354, 357, 365, 385, 414, 422, 426, 437, 547, 550, 569, 571, 583, 615, 707, 718, 723, 725, 74, 85, 145, 146, 235, 250, 260, 282, 305, 739, 815, 816, 835, 919, 948, 993], provide: [(647, true), (658, true), (661, true), (664, true), (674, true), (679, true), (14, true), (17, true), (62, true), (71, true), (103, true), (116, true), (147, true), (161, true), (193, true), (194, true), (228, true), (233, true), (340, true), (388, true), (406, true), (407, true), (435, true), (525, true), (539, true), (630, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(449, 492), items: [461, 468, 476, 482], want_response: false }, ItemSet { range: Range(492, 525), items: [492, 520, 522], want_response: false }], wants: [80, 82, 86, 130, 138, 246, 255, 261, 264, 269, 302, 763, 764, 777, 779, 789, 796, 797, 809, 861, 867, 876, 885, 938, 953, 968, 988, 449, 479, 497], provide: [(2, true), (9, true), (26, true), (35, true), (41, true), (42, true), (105, true), (118, true), (119, true), (157, true), (164, true), (171, true), (191, true), (207, true), (309, true), (311, true), (330, true), (336, true), (354, true), (357, true), (365, true), (385, true), (414, true), (422, true), (426, true), (437, true), (547, true), (550, true), (569, true), (571, true), (583, true), (615, true), (707, true), (718, true), (723, true), (725, true), (74, true), (85, true), (145, true), (146, true), (235, true), (250, true), (260, true), (282, true), (305, true), (739, true), (815, true), (816, true), (835, true), (919, true), (948, true), (993, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [461, 468, 476, 482, 492, 520, 522], provide: [(80, true), (82, true), (86, true), (130, true), (138, true), (246, true), (255, true), (261, true), (264, true), (269, true), (302, true), (763, true), (764, true), (777, true), (779, true), (789, true), (796, true), (797, true), (809, true), (861, true), (867, true), (876, true), (885, true), (938, true), (953, true), (968, true), (988, true), (449, true), (479, true), (497, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(461, true), (468, true), (476, true), (482, true), (492, true), (520, true), (522, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 9, 26, 35, 41, 42, 74, 85, 105, 118, 119, 141, 145, 146, 157, 164, 171, 191, 207, 235, 250, 260, 282, 305, 309, 311, 330, 336, 354, 357, 365, 385, 414, 422, 426, 437, 438, 461, 468, 476, 482, 492, 520, 522, 547, 550, 569, 571, 583, 615, 672, 692, 707, 718, 723, 725, 735, 739, 815, 816, 835, 919, 948, 993, 995, 997} + [998, 647, 658, 661, 664, 674, 679, 14, 17, 62, 71, 103, 116, 147, 161, 193, 194, 228, 233, 340, 388, 406, 407, 435, 525, 539, 630, 80, 82, 86, 130, 138, 246, 255, 261, 264, 269, 302, 763, 764, 777, 779, 789, 796, 797, 809, 861, 867, 876, 885, 938, 953, 968, 988, 449, 479, 497] [INFO] [stdout] b all: {14, 17, 62, 71, 80, 82, 86, 103, 116, 130, 138, 141, 147, 161, 193, 194, 228, 233, 246, 255, 261, 264, 269, 302, 340, 388, 406, 407, 435, 438, 449, 479, 497, 525, 539, 630, 647, 658, 661, 664, 674, 679, 735, 763, 764, 777, 779, 789, 796, 797, 809, 861, 867, 876, 885, 938, 953, 968, 988, 998} + [672, 692, 995, 997, 2, 9, 26, 35, 41, 42, 105, 118, 119, 157, 164, 171, 191, 207, 309, 311, 330, 336, 354, 357, 365, 385, 414, 422, 426, 437, 547, 550, 569, 571, 583, 615, 707, 718, 723, 725, 74, 85, 145, 146, 235, 250, 260, 282, 305, 739, 815, 816, 835, 919, 948, 993, 461, 468, 476, 482, 492, 520, 522] [INFO] [stdout] [INFO] [stdout] all vec: [2, 9, 14, 17, 26, 35, 41, 42, 62, 71, 74, 80, 82, 85, 86, 103, 105, 116, 118, 119, 130, 138, 141, 145, 146, 147, 157, 161, 164, 171, 191, 193, 194, 207, 228, 233, 235, 246, 250, 255, 260, 261, 264, 269, 282, 302, 305, 309, 311, 330, 336, 340, 354, 357, 365, 385, 388, 406, 407, 414, 422, 426, 435, 437, 438, 449, 461, 468, 476, 479, 482, 492, 497, 520, 522, 525, 539, 547, 550, 569, 571, 583, 615, 630, 647, 658, 661, 664, 672, 674, 679, 692, 707, 718, 723, 725, 735, 739, 763, 764, 777, 779, 789, 796, 797, 809, 815, 816, 835, 861, 867, 876, 885, 919, 938, 948, 953, 968, 988, 993, 995, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 9, 14, 17, 26, 35, 41, 42, 62, 71, 74, 80, 82, 85, 86, 103, 105, 116, 118, 119, 130, 138, 141, 145, 146, 147, 157, 161, 164, 171, 191, 193, 194, 207, 228, 233, 235, 246, 250, 255, 260, 261, 264, 269, 282, 302, 305, 309, 311, 330, 336, 340, 354, 357, 365, 385, 388, 406, 407, 414, 422, 426, 435, 437, 438, 449, 461, 468, 476, 479, 482, 492, 497, 520, 522, 525, 539, 547, 550, 569, 571, 583, 615, 630, 647, 658, 661, 664, 672, 674, 679, 692, 707, 718, 723, 725, 735, 739, 763, 764, 777, 779, 789, 796, 797, 809, 815, 816, 835, 861, 867, 876, 885, 919, 938, 948, 953, 968, 988, 993, 995, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 9, 14, 17, 26, 35, 41, 42, 62, 71, 74, 80, 82, 85, 86, 103, 105, 116, 118, 119, 130, 138, 141, 145, 146, 147, 157, 161, 164, 171, 191, 193, 194, 207, 228, 233, 235, 246, 250, 255, 260, 261, 264, 269, 282, 302, 305, 309, 311, 330, 336, 340, 354, 357, 365, 385, 388, 406, 407, 414, 422, 426, 435, 437, 438, 449, 461, 468, 476, 479, 482, 492, 497, 520, 522, 525, 539, 547, 550, 569, 571, 583, 615, 630, 647, 658, 661, 664, 672, 674, 679, 692, 707, 718, 723, 725, 735, 739, 763, 764, 777, 779, 789, 796, 797, 809, 815, 816, 835, 861, 867, 876, 885, 919, 938, 948, 953, 968, 988, 993, 995, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 17, 19, 24, 28, 49, 75, 79, 100, 134, 138, 155, 177, 225, 228, 255, 266, 278, 298, 348, 353, 358, 375, 400, 401, 423, 452, 459, 460, 492, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 805, 811, 825, 832, 841, 878, 891, 896, 934, 938, 966, 968, 975, 980, 981} [INFO] [stdout] b items: {6, 113, 117, 169, 284, 305, 339, 391, 469, 497, 796, 802, 850, 865, 871, 872, 879, 912, 930, 979, 981} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 982), fp: EncodedCountingMonoid(61, SumMonoid(30644)) }], item_sets: [ItemSet { range: Range(982, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 802), fp: EncodedCountingMonoid(10, SumMonoid(3480)) }, Fingerprint { range: Range(802, 982), fp: EncodedCountingMonoid(10, SumMonoid(8941)) }], item_sets: [ItemSet { range: Range(982, 15), items: [6], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 400), fp: EncodedCountingMonoid(23, SumMonoid(3994)) }, Fingerprint { range: Range(400, 802), fp: EncodedCountingMonoid(23, SumMonoid(13129)) }, Fingerprint { range: Range(802, 934), fp: EncodedCountingMonoid(8, SumMonoid(6779)) }, Fingerprint { range: Range(934, 982), fp: EncodedCountingMonoid(7, SumMonoid(6742)) }], item_sets: [], wants: [6], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 305), fp: EncodedCountingMonoid(4, SumMonoid(683)) }, Fingerprint { range: Range(305, 400), fp: EncodedCountingMonoid(3, SumMonoid(1035)) }, Fingerprint { range: Range(802, 872), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }, Fingerprint { range: Range(872, 934), fp: EncodedCountingMonoid(4, SumMonoid(3593)) }], item_sets: [ItemSet { range: Range(400, 796), items: [469, 497], want_response: true }, ItemSet { range: Range(796, 802), items: [796], want_response: true }, ItemSet { range: Range(934, 982), items: [979, 981], want_response: true }], wants: [], provide: [(6, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 138), fp: EncodedCountingMonoid(10, SumMonoid(540)) }, Fingerprint { range: Range(138, 305), fp: EncodedCountingMonoid(9, SumMonoid(2020)) }, Fingerprint { range: Range(802, 832), fp: EncodedCountingMonoid(3, SumMonoid(2441)) }], item_sets: [ItemSet { range: Range(400, 796), items: [400, 401, 423, 452, 459, 460, 492, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773], want_response: false }, ItemSet { range: Range(796, 802), items: [], want_response: false }, ItemSet { range: Range(934, 982), items: [934, 938, 966, 968, 975, 980, 981], want_response: false }, ItemSet { range: Range(305, 358), items: [348, 353], want_response: true }, ItemSet { range: Range(358, 400), items: [358, 375], want_response: true }, ItemSet { range: Range(832, 872), items: [832, 841], want_response: true }, ItemSet { range: Range(872, 896), items: [878, 891], want_response: true }, ItemSet { range: Range(896, 934), items: [896], want_response: true }], wants: [469, 497, 796, 979], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(305, 358), items: [305, 339], want_response: false }, ItemSet { range: Range(358, 400), items: [391], want_response: false }, ItemSet { range: Range(832, 872), items: [850, 865, 871], want_response: false }, ItemSet { range: Range(872, 896), items: [872, 879], want_response: false }, ItemSet { range: Range(896, 934), items: [912, 930], want_response: false }, ItemSet { range: Range(15, 138), items: [113, 117], want_response: true }, ItemSet { range: Range(138, 305), items: [169, 284], want_response: true }, ItemSet { range: Range(802, 832), items: [802], want_response: true }], wants: [400, 401, 423, 452, 459, 460, 492, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 934, 938, 966, 968, 975, 980, 348, 353, 358, 375, 832, 841, 878, 891, 896], provide: [(469, true), (497, true), (796, true), (979, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 138), items: [15, 17, 19, 24, 28, 49, 75, 79, 100, 134], want_response: false }, ItemSet { range: Range(138, 305), items: [138, 155, 177, 225, 228, 255, 266, 278, 298], want_response: false }, ItemSet { range: Range(802, 832), items: [805, 811, 825], want_response: false }], wants: [305, 339, 391, 850, 865, 871, 872, 879, 912, 930, 113, 117, 169, 284, 802], provide: [(400, true), (401, true), (423, true), (452, true), (459, true), (460, true), (492, true), (504, true), (515, true), (518, true), (556, true), (569, true), (575, true), (593, true), (628, true), (642, true), (658, true), (669, true), (677, true), (700, true), (714, true), (751, true), (773, true), (934, true), (938, true), (966, true), (968, true), (975, true), (980, true), (348, true), (353, true), (358, true), (375, true), (832, true), (841, true), (878, true), (891, true), (896, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [15, 17, 19, 24, 28, 49, 75, 79, 100, 134, 138, 155, 177, 225, 228, 255, 266, 278, 298, 805, 811, 825], provide: [(305, true), (339, true), (391, true), (850, true), (865, true), (871, true), (872, true), (879, true), (912, true), (930, true), (113, true), (117, true), (169, true), (284, true), (802, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(15, true), (17, true), (19, true), (24, true), (28, true), (49, true), (75, true), (79, true), (100, true), (134, true), (138, true), (155, true), (177, true), (225, true), (228, true), (255, true), (266, true), (278, true), (298, true), (805, true), (811, true), (825, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 17, 19, 24, 28, 49, 75, 79, 100, 134, 138, 155, 177, 225, 228, 255, 266, 278, 298, 348, 353, 358, 375, 400, 401, 423, 452, 459, 460, 492, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 805, 811, 825, 832, 841, 878, 891, 896, 934, 938, 966, 968, 975, 980, 981} + [6, 469, 497, 796, 979, 305, 339, 391, 850, 865, 871, 872, 879, 912, 930, 113, 117, 169, 284, 802] [INFO] [stdout] b all: {6, 113, 117, 169, 284, 305, 339, 391, 469, 497, 796, 802, 850, 865, 871, 872, 879, 912, 930, 979, 981} + [400, 401, 423, 452, 459, 460, 492, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 934, 938, 966, 968, 975, 980, 348, 353, 358, 375, 832, 841, 878, 891, 896, 15, 17, 19, 24, 28, 49, 75, 79, 100, 134, 138, 155, 177, 225, 228, 255, 266, 278, 298, 805, 811, 825] [INFO] [stdout] [INFO] [stdout] all vec: [6, 15, 17, 19, 24, 28, 49, 75, 79, 100, 113, 117, 134, 138, 155, 169, 177, 225, 228, 255, 266, 278, 284, 298, 305, 339, 348, 353, 358, 375, 391, 400, 401, 423, 452, 459, 460, 469, 492, 497, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 796, 802, 805, 811, 825, 832, 841, 850, 865, 871, 872, 878, 879, 891, 896, 912, 930, 934, 938, 966, 968, 975, 979, 980, 981] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 15, 17, 19, 24, 28, 49, 75, 79, 100, 113, 117, 134, 138, 155, 169, 177, 225, 228, 255, 266, 278, 284, 298, 305, 339, 348, 353, 358, 375, 391, 400, 401, 423, 452, 459, 460, 469, 492, 497, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 796, 802, 805, 811, 825, 832, 841, 850, 865, 871, 872, 878, 879, 891, 896, 912, 930, 934, 938, 966, 968, 975, 979, 980, 981], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 15, 17, 19, 24, 28, 49, 75, 79, 100, 113, 117, 134, 138, 155, 169, 177, 225, 228, 255, 266, 278, 284, 298, 305, 339, 348, 353, 358, 375, 391, 400, 401, 423, 452, 459, 460, 469, 492, 497, 504, 515, 518, 556, 569, 575, 593, 628, 642, 658, 669, 677, 700, 714, 751, 773, 796, 802, 805, 811, 825, 832, 841, 850, 865, 871, 872, 878, 879, 891, 896, 912, 930, 934, 938, 966, 968, 975, 979, 980, 981], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {14, 30, 43, 57, 71, 91, 105, 114, 118, 129, 146, 159, 161, 178, 186, 188, 189, 194, 200, 233, 245, 249, 257, 269, 280, 301, 330, 362, 391, 441, 442, 446, 500, 502, 510, 539, 540, 550, 574, 586, 599, 613, 645, 679, 685, 717, 719, 726, 729, 741, 752, 761, 779, 795, 798, 821, 822, 825, 872, 873, 901, 922, 964, 966} [INFO] [stdout] b items: {16, 17, 41, 48, 116, 117, 167, 179, 213, 284, 315, 332, 373, 383, 402, 437, 454, 475, 497, 512, 526, 573, 577, 592, 609, 615, 631, 724, 733, 777, 796, 860, 864, 910, 991, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(14, 967), fp: EncodedCountingMonoid(64, SumMonoid(29624)) }], item_sets: [ItemSet { range: Range(967, 14), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(14, 475), fp: EncodedCountingMonoid(17, SumMonoid(3894)) }, Fingerprint { range: Range(475, 967), fp: EncodedCountingMonoid(17, SumMonoid(11271)) }], item_sets: [ItemSet { range: Range(967, 14), items: [991, 999], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(14, 189), fp: EncodedCountingMonoid(16, SumMonoid(1790)) }, Fingerprint { range: Range(189, 475), fp: EncodedCountingMonoid(16, SumMonoid(4829)) }, Fingerprint { range: Range(475, 729), fp: EncodedCountingMonoid(16, SumMonoid(9684)) }, Fingerprint { range: Range(729, 967), fp: EncodedCountingMonoid(16, SumMonoid(13321)) }], item_sets: [], wants: [991, 999], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(14, 116), fp: EncodedCountingMonoid(4, SumMonoid(122)) }, Fingerprint { range: Range(116, 189), fp: EncodedCountingMonoid(4, SumMonoid(579)) }, Fingerprint { range: Range(189, 383), fp: EncodedCountingMonoid(5, SumMonoid(1517)) }, Fingerprint { range: Range(383, 475), fp: EncodedCountingMonoid(4, SumMonoid(1676)) }, Fingerprint { range: Range(475, 592), fp: EncodedCountingMonoid(6, SumMonoid(3160)) }, Fingerprint { range: Range(592, 729), fp: EncodedCountingMonoid(5, SumMonoid(3171)) }, Fingerprint { range: Range(729, 860), fp: EncodedCountingMonoid(3, SumMonoid(2306)) }, Fingerprint { range: Range(860, 967), fp: EncodedCountingMonoid(3, SumMonoid(2634)) }], item_sets: [], wants: [], provide: [(991, true), (999, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(14, 71), fp: EncodedCountingMonoid(4, SumMonoid(144)) }, Fingerprint { range: Range(71, 116), fp: EncodedCountingMonoid(4, SumMonoid(381)) }, Fingerprint { range: Range(116, 161), fp: EncodedCountingMonoid(4, SumMonoid(552)) }, Fingerprint { range: Range(161, 189), fp: EncodedCountingMonoid(4, SumMonoid(713)) }, Fingerprint { range: Range(189, 257), fp: EncodedCountingMonoid(6, SumMonoid(1310)) }, Fingerprint { range: Range(257, 383), fp: EncodedCountingMonoid(6, SumMonoid(1799)) }, Fingerprint { range: Range(475, 540), fp: EncodedCountingMonoid(4, SumMonoid(2051)) }, Fingerprint { range: Range(540, 592), fp: EncodedCountingMonoid(4, SumMonoid(2250)) }, Fingerprint { range: Range(592, 685), fp: EncodedCountingMonoid(4, SumMonoid(2536)) }, Fingerprint { range: Range(685, 729), fp: EncodedCountingMonoid(4, SumMonoid(2847)) }, Fingerprint { range: Range(729, 795), fp: EncodedCountingMonoid(5, SumMonoid(3762)) }, Fingerprint { range: Range(795, 860), fp: EncodedCountingMonoid(5, SumMonoid(4061)) }, Fingerprint { range: Range(860, 922), fp: EncodedCountingMonoid(3, SumMonoid(2646)) }, Fingerprint { range: Range(922, 967), fp: EncodedCountingMonoid(3, SumMonoid(2852)) }], item_sets: [ItemSet { range: Range(383, 442), items: [391, 441], want_response: true }, ItemSet { range: Range(442, 475), items: [442, 446], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(383, 442), items: [383, 402, 437], want_response: false }, ItemSet { range: Range(442, 475), items: [454], want_response: false }, ItemSet { range: Range(14, 41), items: [16, 17], want_response: true }, ItemSet { range: Range(41, 71), items: [41, 48], want_response: true }, ItemSet { range: Range(71, 116), items: [], want_response: true }, ItemSet { range: Range(116, 161), items: [116, 117], want_response: true }, ItemSet { range: Range(161, 189), items: [167, 179], want_response: true }, ItemSet { range: Range(189, 257), items: [213], want_response: true }, ItemSet { range: Range(257, 332), items: [284, 315], want_response: true }, ItemSet { range: Range(332, 383), items: [332, 373], want_response: true }, ItemSet { range: Range(475, 512), items: [475, 497], want_response: true }, ItemSet { range: Range(512, 540), items: [512, 526], want_response: true }, ItemSet { range: Range(540, 592), items: [573, 577], want_response: true }, ItemSet { range: Range(592, 615), items: [592, 609], want_response: true }, ItemSet { range: Range(615, 685), items: [615, 631], want_response: true }, ItemSet { range: Range(685, 729), items: [724], want_response: true }, ItemSet { range: Range(729, 795), items: [733, 777], want_response: true }, ItemSet { range: Range(795, 860), items: [796], want_response: true }, ItemSet { range: Range(860, 910), items: [860, 864], want_response: true }, ItemSet { range: Range(910, 922), items: [910], want_response: true }, ItemSet { range: Range(922, 967), items: [], want_response: true }], wants: [391, 441, 442, 446], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(14, 41), items: [14, 30], want_response: false }, ItemSet { range: Range(41, 71), items: [43, 57], want_response: false }, ItemSet { range: Range(71, 116), items: [71, 91, 105, 114], want_response: false }, ItemSet { range: Range(116, 161), items: [118, 129, 146, 159], want_response: false }, ItemSet { range: Range(161, 189), items: [161, 178, 186, 188], want_response: false }, ItemSet { range: Range(189, 257), items: [189, 194, 200, 233, 245, 249], want_response: false }, ItemSet { range: Range(257, 332), items: [257, 269, 280, 301, 330], want_response: false }, ItemSet { range: Range(332, 383), items: [362], want_response: false }, ItemSet { range: Range(475, 512), items: [500, 502, 510], want_response: false }, ItemSet { range: Range(512, 540), items: [539], want_response: false }, ItemSet { range: Range(540, 592), items: [540, 550, 574, 586], want_response: false }, ItemSet { range: Range(592, 615), items: [599, 613], want_response: false }, ItemSet { range: Range(615, 685), items: [645, 679], want_response: false }, ItemSet { range: Range(685, 729), items: [685, 717, 719, 726], want_response: false }, ItemSet { range: Range(729, 795), items: [729, 741, 752, 761, 779], want_response: false }, ItemSet { range: Range(795, 860), items: [795, 798, 821, 822, 825], want_response: false }, ItemSet { range: Range(860, 910), items: [872, 873, 901], want_response: false }, ItemSet { range: Range(910, 922), items: [], want_response: false }, ItemSet { range: Range(922, 967), items: [922, 964, 966], want_response: false }], wants: [383, 402, 437, 454, 16, 17, 41, 48, 116, 117, 167, 179, 213, 284, 315, 332, 373, 475, 497, 512, 526, 573, 577, 592, 609, 615, 631, 724, 733, 777, 796, 860, 864, 910], provide: [(391, true), (441, true), (442, true), (446, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [14, 30, 43, 57, 71, 91, 105, 114, 118, 129, 146, 159, 161, 178, 186, 188, 189, 194, 200, 233, 245, 249, 257, 269, 280, 301, 330, 362, 500, 502, 510, 539, 540, 550, 574, 586, 599, 613, 645, 679, 685, 717, 719, 726, 729, 741, 752, 761, 779, 795, 798, 821, 822, 825, 872, 873, 901, 922, 964, 966], provide: [(383, true), (402, true), (437, true), (454, true), (16, true), (17, true), (41, true), (48, true), (116, true), (117, true), (167, true), (179, true), (213, true), (284, true), (315, true), (332, true), (373, true), (475, true), (497, true), (512, true), (526, true), (573, true), (577, true), (592, true), (609, true), (615, true), (631, true), (724, true), (733, true), (777, true), (796, true), (860, true), (864, true), (910, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(14, true), (30, true), (43, true), (57, true), (71, true), (91, true), (105, true), (114, true), (118, true), (129, true), (146, true), (159, true), (161, true), (178, true), (186, true), (188, true), (189, true), (194, true), (200, true), (233, true), (245, true), (249, true), (257, true), (269, true), (280, true), (301, true), (330, true), (362, true), (500, true), (502, true), (510, true), (539, true), (540, true), (550, true), (574, true), (586, true), (599, true), (613, true), (645, true), (679, true), (685, true), (717, true), (719, true), (726, true), (729, true), (741, true), (752, true), (761, true), (779, true), (795, true), (798, true), (821, true), (822, true), (825, true), (872, true), (873, true), (901, true), (922, true), (964, true), (966, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {14, 30, 43, 57, 71, 91, 105, 114, 118, 129, 146, 159, 161, 178, 186, 188, 189, 194, 200, 233, 245, 249, 257, 269, 280, 301, 330, 362, 391, 441, 442, 446, 500, 502, 510, 539, 540, 550, 574, 586, 599, 613, 645, 679, 685, 717, 719, 726, 729, 741, 752, 761, 779, 795, 798, 821, 822, 825, 872, 873, 901, 922, 964, 966} + [991, 999, 383, 402, 437, 454, 16, 17, 41, 48, 116, 117, 167, 179, 213, 284, 315, 332, 373, 475, 497, 512, 526, 573, 577, 592, 609, 615, 631, 724, 733, 777, 796, 860, 864, 910] [INFO] [stdout] b all: {16, 17, 41, 48, 116, 117, 167, 179, 213, 284, 315, 332, 373, 383, 402, 437, 454, 475, 497, 512, 526, 573, 577, 592, 609, 615, 631, 724, 733, 777, 796, 860, 864, 910, 991, 999} + [391, 441, 442, 446, 14, 30, 43, 57, 71, 91, 105, 114, 118, 129, 146, 159, 161, 178, 186, 188, 189, 194, 200, 233, 245, 249, 257, 269, 280, 301, 330, 362, 500, 502, 510, 539, 540, 550, 574, 586, 599, 613, 645, 679, 685, 717, 719, 726, 729, 741, 752, 761, 779, 795, 798, 821, 822, 825, 872, 873, 901, 922, 964, 966] [INFO] [stdout] [INFO] [stdout] all vec: [14, 16, 17, 30, 41, 43, 48, 57, 71, 91, 105, 114, 116, 117, 118, 129, 146, 159, 161, 167, 178, 179, 186, 188, 189, 194, 200, 213, 233, 245, 249, 257, 269, 280, 284, 301, 315, 330, 332, 362, 373, 383, 391, 402, 437, 441, 442, 446, 454, 475, 497, 500, 502, 510, 512, 526, 539, 540, 550, 573, 574, 577, 586, 592, 599, 609, 613, 615, 631, 645, 679, 685, 717, 719, 724, 726, 729, 733, 741, 752, 761, 777, 779, 795, 796, 798, 821, 822, 825, 860, 864, 872, 873, 901, 910, 922, 964, 966, 991, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [14, 16, 17, 30, 41, 43, 48, 57, 71, 91, 105, 114, 116, 117, 118, 129, 146, 159, 161, 167, 178, 179, 186, 188, 189, 194, 200, 213, 233, 245, 249, 257, 269, 280, 284, 301, 315, 330, 332, 362, 373, 383, 391, 402, 437, 441, 442, 446, 454, 475, 497, 500, 502, 510, 512, 526, 539, 540, 550, 573, 574, 577, 586, 592, 599, 609, 613, 615, 631, 645, 679, 685, 717, 719, 724, 726, 729, 733, 741, 752, 761, 777, 779, 795, 796, 798, 821, 822, 825, 860, 864, 872, 873, 901, 910, 922, 964, 966, 991, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [14, 16, 17, 30, 41, 43, 48, 57, 71, 91, 105, 114, 116, 117, 118, 129, 146, 159, 161, 167, 178, 179, 186, 188, 189, 194, 200, 213, 233, 245, 249, 257, 269, 280, 284, 301, 315, 330, 332, 362, 373, 383, 391, 402, 437, 441, 442, 446, 454, 475, 497, 500, 502, 510, 512, 526, 539, 540, 550, 573, 574, 577, 586, 592, 599, 609, 613, 615, 631, 645, 679, 685, 717, 719, 724, 726, 729, 733, 741, 752, 761, 777, 779, 795, 796, 798, 821, 822, 825, 860, 864, 872, 873, 901, 910, 922, 964, 966, 991, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {21, 25, 46, 78, 105, 138, 175, 197, 276, 283, 311, 330, 336, 353, 359, 371, 385, 392, 436, 442, 447, 448, 463, 481, 498, 514, 519, 560, 574, 648, 668, 697, 724, 732, 746, 764, 766, 770, 773, 795, 797, 812, 830, 838, 850, 852, 853, 873, 877, 890, 893, 926, 945, 962, 963, 987, 992, 993} [INFO] [stdout] b items: {1, 6, 15, 18, 32, 42, 91, 92, 100, 104, 108, 114, 130, 138, 140, 174, 178, 180, 208, 232, 266, 268, 302, 303, 307, 318, 324, 336, 338, 343, 344, 346, 353, 354, 362, 377, 379, 381, 382, 385, 399, 415, 422, 426, 432, 437, 468, 471, 504, 506, 516, 529, 546, 558, 570, 573, 578, 583, 602, 604, 609, 613, 614, 639, 648, 654, 666, 695, 696, 702, 720, 733, 753, 765, 766, 807, 819, 829, 838, 843, 851, 882, 892, 899, 934, 936, 968, 971, 986, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 994), fp: EncodedCountingMonoid(58, SumMonoid(33779)) }], item_sets: [ItemSet { range: Range(994, 21), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(21, 471), fp: EncodedCountingMonoid(43, SumMonoid(11830)) }, Fingerprint { range: Range(471, 994), fp: EncodedCountingMonoid(43, SumMonoid(30859)) }], item_sets: [ItemSet { range: Range(994, 21), items: [1, 6, 15, 18], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 336), fp: EncodedCountingMonoid(12, SumMonoid(1985)) }, Fingerprint { range: Range(336, 471), fp: EncodedCountingMonoid(11, SumMonoid(4432)) }, Fingerprint { range: Range(471, 812), fp: EncodedCountingMonoid(18, SumMonoid(12026)) }, Fingerprint { range: Range(812, 994), fp: EncodedCountingMonoid(17, SumMonoid(15336)) }], item_sets: [], wants: [1, 6, 15, 18], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(21, 178), fp: EncodedCountingMonoid(12, SumMonoid(1265)) }, Fingerprint { range: Range(178, 336), fp: EncodedCountingMonoid(11, SumMonoid(2886)) }, Fingerprint { range: Range(336, 381), fp: EncodedCountingMonoid(10, SumMonoid(3532)) }, Fingerprint { range: Range(381, 471), fp: EncodedCountingMonoid(10, SumMonoid(4147)) }, Fingerprint { range: Range(471, 614), fp: EncodedCountingMonoid(15, SumMonoid(8362)) }, Fingerprint { range: Range(614, 812), fp: EncodedCountingMonoid(14, SumMonoid(9858)) }, Fingerprint { range: Range(812, 899), fp: EncodedCountingMonoid(7, SumMonoid(5954)) }, Fingerprint { range: Range(899, 994), fp: EncodedCountingMonoid(7, SumMonoid(6685)) }], item_sets: [], wants: [], provide: [(1, true), (6, true), (15, true), (18, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 105), fp: EncodedCountingMonoid(4, SumMonoid(170)) }, Fingerprint { range: Range(105, 178), fp: EncodedCountingMonoid(3, SumMonoid(418)) }, Fingerprint { range: Range(178, 311), fp: EncodedCountingMonoid(3, SumMonoid(756)) }, Fingerprint { range: Range(381, 447), fp: EncodedCountingMonoid(4, SumMonoid(1655)) }, Fingerprint { range: Range(447, 471), fp: EncodedCountingMonoid(3, SumMonoid(1358)) }, Fingerprint { range: Range(471, 519), fp: EncodedCountingMonoid(3, SumMonoid(1493)) }, Fingerprint { range: Range(519, 614), fp: EncodedCountingMonoid(3, SumMonoid(1653)) }, Fingerprint { range: Range(614, 764), fp: EncodedCountingMonoid(6, SumMonoid(4215)) }, Fingerprint { range: Range(764, 812), fp: EncodedCountingMonoid(6, SumMonoid(4665)) }, Fingerprint { range: Range(812, 853), fp: EncodedCountingMonoid(5, SumMonoid(4182)) }, Fingerprint { range: Range(853, 899), fp: EncodedCountingMonoid(5, SumMonoid(4386)) }, Fingerprint { range: Range(899, 987), fp: EncodedCountingMonoid(4, SumMonoid(3796)) }, Fingerprint { range: Range(987, 994), fp: EncodedCountingMonoid(3, SumMonoid(2972)) }], item_sets: [ItemSet { range: Range(311, 336), items: [311, 330], want_response: true }, ItemSet { range: Range(336, 359), items: [336, 353], want_response: true }, ItemSet { range: Range(359, 381), items: [359, 371], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(21, 92), fp: EncodedCountingMonoid(3, SumMonoid(165)) }, Fingerprint { range: Range(92, 105), fp: EncodedCountingMonoid(3, SumMonoid(296)) }, Fingerprint { range: Range(105, 138), fp: EncodedCountingMonoid(3, SumMonoid(352)) }, Fingerprint { range: Range(138, 178), fp: EncodedCountingMonoid(3, SumMonoid(452)) }, Fingerprint { range: Range(178, 268), fp: EncodedCountingMonoid(5, SumMonoid(1064)) }, Fingerprint { range: Range(268, 311), fp: EncodedCountingMonoid(4, SumMonoid(1180)) }, Fingerprint { range: Range(381, 422), fp: EncodedCountingMonoid(5, SumMonoid(1962)) }, Fingerprint { range: Range(422, 447), fp: EncodedCountingMonoid(4, SumMonoid(1717)) }, Fingerprint { range: Range(519, 583), fp: EncodedCountingMonoid(6, SumMonoid(3354)) }, Fingerprint { range: Range(583, 614), fp: EncodedCountingMonoid(5, SumMonoid(3011)) }, Fingerprint { range: Range(614, 696), fp: EncodedCountingMonoid(6, SumMonoid(3916)) }, Fingerprint { range: Range(696, 764), fp: EncodedCountingMonoid(5, SumMonoid(3604)) }, Fingerprint { range: Range(812, 843), fp: EncodedCountingMonoid(3, SumMonoid(2486)) }, Fingerprint { range: Range(899, 968), fp: EncodedCountingMonoid(3, SumMonoid(2769)) }, Fingerprint { range: Range(968, 987), fp: EncodedCountingMonoid(3, SumMonoid(2925)) }], item_sets: [ItemSet { range: Range(311, 336), items: [318, 324], want_response: false }, ItemSet { range: Range(336, 359), items: [336, 338, 343, 344, 346, 353, 354], want_response: false }, ItemSet { range: Range(359, 381), items: [362, 377, 379], want_response: false }, ItemSet { range: Range(447, 471), items: [468], want_response: true }, ItemSet { range: Range(471, 506), items: [471, 504], want_response: true }, ItemSet { range: Range(506, 519), items: [506, 516], want_response: true }, ItemSet { range: Range(764, 807), items: [765, 766], want_response: true }, ItemSet { range: Range(807, 812), items: [807], want_response: true }, ItemSet { range: Range(843, 853), items: [843, 851], want_response: true }, ItemSet { range: Range(853, 899), items: [882, 892], want_response: true }, ItemSet { range: Range(987, 994), items: [991], want_response: true }], wants: [311, 330, 359, 371], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(447, 471), items: [447, 448, 463], want_response: false }, ItemSet { range: Range(471, 506), items: [481, 498], want_response: false }, ItemSet { range: Range(506, 519), items: [514], want_response: false }, ItemSet { range: Range(764, 807), items: [764, 766, 770, 773, 795, 797], want_response: false }, ItemSet { range: Range(807, 812), items: [], want_response: false }, ItemSet { range: Range(843, 853), items: [850, 852], want_response: false }, ItemSet { range: Range(853, 899), items: [853, 873, 877, 890, 893], want_response: false }, ItemSet { range: Range(987, 994), items: [987, 992, 993], want_response: false }, ItemSet { range: Range(21, 46), items: [21, 25], want_response: true }, ItemSet { range: Range(46, 92), items: [46, 78], want_response: true }, ItemSet { range: Range(92, 105), items: [], want_response: true }, ItemSet { range: Range(105, 138), items: [105], want_response: true }, ItemSet { range: Range(138, 178), items: [138, 175], want_response: true }, ItemSet { range: Range(178, 268), items: [197], want_response: true }, ItemSet { range: Range(268, 311), items: [276, 283], want_response: true }, ItemSet { range: Range(381, 422), items: [385, 392], want_response: true }, ItemSet { range: Range(422, 447), items: [436, 442], want_response: true }, ItemSet { range: Range(519, 574), items: [519, 560], want_response: true }, ItemSet { range: Range(574, 583), items: [574], want_response: true }, ItemSet { range: Range(583, 614), items: [], want_response: true }, ItemSet { range: Range(614, 696), items: [648, 668], want_response: true }, ItemSet { range: Range(696, 732), items: [697, 724], want_response: true }, ItemSet { range: Range(732, 764), items: [732, 746], want_response: true }, ItemSet { range: Range(812, 838), items: [812, 830], want_response: true }, ItemSet { range: Range(838, 843), items: [838], want_response: true }, ItemSet { range: Range(899, 962), items: [926, 945], want_response: true }, ItemSet { range: Range(962, 968), items: [962, 963], want_response: true }, ItemSet { range: Range(968, 987), items: [], want_response: true }], wants: [318, 324, 338, 343, 344, 346, 354, 362, 377, 379, 468, 471, 504, 506, 516, 765, 807, 843, 851, 882, 892, 991], provide: [(311, true), (330, true), (359, true), (371, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(21, 46), items: [32, 42], want_response: false }, ItemSet { range: Range(46, 92), items: [91], want_response: false }, ItemSet { range: Range(92, 105), items: [92, 100, 104], want_response: false }, ItemSet { range: Range(105, 138), items: [108, 114, 130], want_response: false }, ItemSet { range: Range(138, 178), items: [138, 140, 174], want_response: false }, ItemSet { range: Range(178, 268), items: [178, 180, 208, 232, 266], want_response: false }, ItemSet { range: Range(268, 311), items: [268, 302, 303, 307], want_response: false }, ItemSet { range: Range(381, 422), items: [381, 382, 385, 399, 415], want_response: false }, ItemSet { range: Range(422, 447), items: [422, 426, 432, 437], want_response: false }, ItemSet { range: Range(519, 574), items: [529, 546, 558, 570, 573], want_response: false }, ItemSet { range: Range(574, 583), items: [578], want_response: false }, ItemSet { range: Range(583, 614), items: [583, 602, 604, 609, 613], want_response: false }, ItemSet { range: Range(614, 696), items: [614, 639, 648, 654, 666, 695], want_response: false }, ItemSet { range: Range(696, 732), items: [696, 702, 720], want_response: false }, ItemSet { range: Range(732, 764), items: [733, 753], want_response: false }, ItemSet { range: Range(812, 838), items: [819, 829], want_response: false }, ItemSet { range: Range(838, 843), items: [838], want_response: false }, ItemSet { range: Range(899, 962), items: [899, 934, 936], want_response: false }, ItemSet { range: Range(962, 968), items: [], want_response: false }, ItemSet { range: Range(968, 987), items: [968, 971, 986], want_response: false }], wants: [447, 448, 463, 481, 498, 514, 764, 770, 773, 795, 797, 850, 852, 853, 873, 877, 890, 893, 987, 992, 993, 21, 25, 46, 78, 105, 175, 197, 276, 283, 392, 436, 442, 519, 560, 574, 668, 697, 724, 732, 746, 812, 830, 926, 945, 962, 963], provide: [(318, true), (324, true), (338, true), (343, true), (344, true), (346, true), (354, true), (362, true), (377, true), (379, true), (468, true), (471, true), (504, true), (506, true), (516, true), (765, true), (807, true), (843, true), (851, true), (882, true), (892, true), (991, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [32, 42, 91, 92, 100, 104, 108, 114, 130, 140, 174, 178, 180, 208, 232, 266, 268, 302, 303, 307, 381, 382, 399, 415, 422, 426, 432, 437, 529, 546, 558, 570, 573, 578, 583, 602, 604, 609, 613, 614, 639, 654, 666, 695, 696, 702, 720, 733, 753, 819, 829, 899, 934, 936, 968, 971, 986], provide: [(447, true), (448, true), (463, true), (481, true), (498, true), (514, true), (764, true), (770, true), (773, true), (795, true), (797, true), (850, true), (852, true), (853, true), (873, true), (877, true), (890, true), (893, true), (987, true), (992, true), (993, true), (21, true), (25, true), (46, true), (78, true), (105, true), (175, true), (197, true), (276, true), (283, true), (392, true), (436, true), (442, true), (519, true), (560, true), (574, true), (668, true), (697, true), (724, true), (732, true), (746, true), (812, true), (830, true), (926, true), (945, true), (962, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(32, true), (42, true), (91, true), (92, true), (100, true), (104, true), (108, true), (114, true), (130, true), (140, true), (174, true), (178, true), (180, true), (208, true), (232, true), (266, true), (268, true), (302, true), (303, true), (307, true), (381, true), (382, true), (399, true), (415, true), (422, true), (426, true), (432, true), (437, true), (529, true), (546, true), (558, true), (570, true), (573, true), (578, true), (583, true), (602, true), (604, true), (609, true), (613, true), (614, true), (639, true), (654, true), (666, true), (695, true), (696, true), (702, true), (720, true), (733, true), (753, true), (819, true), (829, true), (899, true), (934, true), (936, true), (968, true), (971, true), (986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {21, 25, 46, 78, 105, 138, 175, 197, 276, 283, 311, 330, 336, 353, 359, 371, 385, 392, 436, 442, 447, 448, 463, 481, 498, 514, 519, 560, 574, 648, 668, 697, 724, 732, 746, 764, 766, 770, 773, 795, 797, 812, 830, 838, 850, 852, 853, 873, 877, 890, 893, 926, 945, 962, 963, 987, 992, 993} + [1, 6, 15, 18, 318, 324, 338, 343, 344, 346, 354, 362, 377, 379, 468, 471, 504, 506, 516, 765, 807, 843, 851, 882, 892, 991, 32, 42, 91, 92, 100, 104, 108, 114, 130, 140, 174, 178, 180, 208, 232, 266, 268, 302, 303, 307, 381, 382, 399, 415, 422, 426, 432, 437, 529, 546, 558, 570, 573, 578, 583, 602, 604, 609, 613, 614, 639, 654, 666, 695, 696, 702, 720, 733, 753, 819, 829, 899, 934, 936, 968, 971, 986] [INFO] [stdout] b all: {1, 6, 15, 18, 32, 42, 91, 92, 100, 104, 108, 114, 130, 138, 140, 174, 178, 180, 208, 232, 266, 268, 302, 303, 307, 318, 324, 336, 338, 343, 344, 346, 353, 354, 362, 377, 379, 381, 382, 385, 399, 415, 422, 426, 432, 437, 468, 471, 504, 506, 516, 529, 546, 558, 570, 573, 578, 583, 602, 604, 609, 613, 614, 639, 648, 654, 666, 695, 696, 702, 720, 733, 753, 765, 766, 807, 819, 829, 838, 843, 851, 882, 892, 899, 934, 936, 968, 971, 986, 991} + [311, 330, 359, 371, 447, 448, 463, 481, 498, 514, 764, 770, 773, 795, 797, 850, 852, 853, 873, 877, 890, 893, 987, 992, 993, 21, 25, 46, 78, 105, 175, 197, 276, 283, 392, 436, 442, 519, 560, 574, 668, 697, 724, 732, 746, 812, 830, 926, 945, 962, 963] [INFO] [stdout] [INFO] [stdout] all vec: [1, 6, 15, 18, 21, 25, 32, 42, 46, 78, 91, 92, 100, 104, 105, 108, 114, 130, 138, 140, 174, 175, 178, 180, 197, 208, 232, 266, 268, 276, 283, 302, 303, 307, 311, 318, 324, 330, 336, 338, 343, 344, 346, 353, 354, 359, 362, 371, 377, 379, 381, 382, 385, 392, 399, 415, 422, 426, 432, 436, 437, 442, 447, 448, 463, 468, 471, 481, 498, 504, 506, 514, 516, 519, 529, 546, 558, 560, 570, 573, 574, 578, 583, 602, 604, 609, 613, 614, 639, 648, 654, 666, 668, 695, 696, 697, 702, 720, 724, 732, 733, 746, 753, 764, 765, 766, 770, 773, 795, 797, 807, 812, 819, 829, 830, 838, 843, 850, 851, 852, 853, 873, 877, 882, 890, 892, 893, 899, 926, 934, 936, 945, 962, 963, 968, 971, 986, 987, 991, 992, 993] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 6, 15, 18, 21, 25, 32, 42, 46, 78, 91, 92, 100, 104, 105, 108, 114, 130, 138, 140, 174, 175, 178, 180, 197, 208, 232, 266, 268, 276, 283, 302, 303, 307, 311, 318, 324, 330, 336, 338, 343, 344, 346, 353, 354, 359, 362, 371, 377, 379, 381, 382, 385, 392, 399, 415, 422, 426, 432, 436, 437, 442, 447, 448, 463, 468, 471, 481, 498, 504, 506, 514, 516, 519, 529, 546, 558, 560, 570, 573, 574, 578, 583, 602, 604, 609, 613, 614, 639, 648, 654, 666, 668, 695, 696, 697, 702, 720, 724, 732, 733, 746, 753, 764, 765, 766, 770, 773, 795, 797, 807, 812, 819, 829, 830, 838, 843, 850, 851, 852, 853, 873, 877, 882, 890, 892, 893, 899, 926, 934, 936, 945, 962, 963, 968, 971, 986, 987, 991, 992, 993], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 6, 15, 18, 21, 25, 32, 42, 46, 78, 91, 92, 100, 104, 105, 108, 114, 130, 138, 140, 174, 175, 178, 180, 197, 208, 232, 266, 268, 276, 283, 302, 303, 307, 311, 318, 324, 330, 336, 338, 343, 344, 346, 353, 354, 359, 362, 371, 377, 379, 381, 382, 385, 392, 399, 415, 422, 426, 432, 436, 437, 442, 447, 448, 463, 468, 471, 481, 498, 504, 506, 514, 516, 519, 529, 546, 558, 560, 570, 573, 574, 578, 583, 602, 604, 609, 613, 614, 639, 648, 654, 666, 668, 695, 696, 697, 702, 720, 724, 732, 733, 746, 753, 764, 765, 766, 770, 773, 795, 797, 807, 812, 819, 829, 830, 838, 843, 850, 851, 852, 853, 873, 877, 882, 890, 892, 893, 899, 926, 934, 936, 945, 962, 963, 968, 971, 986, 987, 991, 992, 993], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {4, 309, 540, 852} [INFO] [stdout] b items: {6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 312, 375, 390, 391, 437, 487, 489, 499, 519, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807, 879, 881, 889, 892, 910, 911, 950, 967} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 853), fp: EncodedCountingMonoid(4, SumMonoid(1705)) }], item_sets: [ItemSet { range: Range(853, 4), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 391), fp: EncodedCountingMonoid(20, SumMonoid(4013)) }, Fingerprint { range: Range(391, 853), fp: EncodedCountingMonoid(20, SumMonoid(12501)) }], item_sets: [ItemSet { range: Range(853, 4), items: [879, 881, 889, 892, 910, 911, 950, 967], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 391), items: [4, 309], want_response: true }, ItemSet { range: Range(391, 853), items: [540, 852], want_response: true }], wants: [879, 881, 889, 892, 910, 911, 950, 967], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 391), items: [6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 312, 375, 390], want_response: false }, ItemSet { range: Range(391, 853), items: [391, 437, 487, 489, 499, 519, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807], want_response: false }], wants: [4, 309, 540, 852], provide: [(879, true), (881, true), (889, true), (892, true), (910, true), (911, true), (950, true), (967, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 312, 375, 390, 391, 437, 487, 489, 499, 519, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807], provide: [(4, true), (309, true), (540, true), (852, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(6, true), (28, true), (33, true), (40, true), (107, true), (120, true), (123, true), (210, true), (217, true), (222, true), (236, true), (242, true), (250, true), (257, true), (260, true), (291, true), (294, true), (312, true), (375, true), (390, true), (391, true), (437, true), (487, true), (489, true), (499, true), (519, true), (550, true), (580, true), (615, true), (621, true), (638, true), (648, true), (655, true), (694, true), (705, true), (782, true), (793, true), (795, true), (796, true), (807, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {4, 309, 540, 852} + [879, 881, 889, 892, 910, 911, 950, 967, 6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 312, 375, 390, 391, 437, 487, 489, 499, 519, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807] [INFO] [stdout] b all: {6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 312, 375, 390, 391, 437, 487, 489, 499, 519, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807, 879, 881, 889, 892, 910, 911, 950, 967} + [4, 309, 540, 852] [INFO] [stdout] [INFO] [stdout] all vec: [4, 6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 309, 312, 375, 390, 391, 437, 487, 489, 499, 519, 540, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807, 852, 879, 881, 889, 892, 910, 911, 950, 967] [INFO] [stdout] [INFO] [stdout] a all vec: [4, 6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 309, 312, 375, 390, 391, 437, 487, 489, 499, 519, 540, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807, 852, 879, 881, 889, 892, 910, 911, 950, 967], true true [INFO] [stdout] [INFO] [stdout] b all vec: [4, 6, 28, 33, 40, 107, 120, 123, 210, 217, 222, 236, 242, 250, 257, 260, 291, 294, 309, 312, 375, 390, 391, 437, 487, 489, 499, 519, 540, 550, 580, 615, 621, 638, 648, 655, 694, 705, 782, 793, 795, 796, 807, 852, 879, 881, 889, 892, 910, 911, 950, 967], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {57, 66, 74, 76, 85, 91, 119, 142, 220, 223, 248, 251, 256, 267, 278, 334, 343, 352, 358, 377, 379, 398, 419, 521, 526, 542, 553, 600, 614, 666, 710, 712, 727, 731, 772, 775, 813, 882, 945, 952, 964, 991, 999} [INFO] [stdout] b items: {3, 14, 20, 51, 58, 68, 71, 80, 87, 103, 162, 164, 168, 209, 250, 256, 295, 300, 303, 319, 347, 357, 393, 401, 406, 417, 444, 466, 472, 523, 527, 544, 549, 567, 585, 636, 646, 668, 697, 698, 732, 739, 754, 764, 775, 776, 795, 810, 853, 857, 872, 882, 928, 974, 975, 979} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(57, 1000), fp: EncodedCountingMonoid(43, SumMonoid(20408)) }], item_sets: [ItemSet { range: Range(1000, 57), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(57, 527), fp: EncodedCountingMonoid(26, SumMonoid(7119)) }, Fingerprint { range: Range(527, 1000), fp: EncodedCountingMonoid(26, SumMonoid(19582)) }], item_sets: [ItemSet { range: Range(1000, 57), items: [3, 14, 20, 51], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(57, 267), fp: EncodedCountingMonoid(13, SumMonoid(1908)) }, Fingerprint { range: Range(267, 527), fp: EncodedCountingMonoid(12, SumMonoid(4552)) }, Fingerprint { range: Range(527, 772), fp: EncodedCountingMonoid(9, SumMonoid(5855)) }, Fingerprint { range: Range(772, 1000), fp: EncodedCountingMonoid(9, SumMonoid(8093)) }], item_sets: [], wants: [3, 14, 20, 51], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(57, 162), fp: EncodedCountingMonoid(6, SumMonoid(467)) }, Fingerprint { range: Range(162, 267), fp: EncodedCountingMonoid(6, SumMonoid(1209)) }, Fingerprint { range: Range(267, 401), fp: EncodedCountingMonoid(7, SumMonoid(2314)) }, Fingerprint { range: Range(401, 527), fp: EncodedCountingMonoid(7, SumMonoid(3129)) }, Fingerprint { range: Range(527, 668), fp: EncodedCountingMonoid(7, SumMonoid(4054)) }, Fingerprint { range: Range(668, 772), fp: EncodedCountingMonoid(7, SumMonoid(5052)) }, Fingerprint { range: Range(772, 872), fp: EncodedCountingMonoid(6, SumMonoid(4866)) }, Fingerprint { range: Range(872, 1000), fp: EncodedCountingMonoid(6, SumMonoid(5610)) }], item_sets: [], wants: [], provide: [(3, true), (14, true), (20, true), (51, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(57, 85), fp: EncodedCountingMonoid(4, SumMonoid(273)) }, Fingerprint { range: Range(85, 162), fp: EncodedCountingMonoid(4, SumMonoid(437)) }, Fingerprint { range: Range(162, 251), fp: EncodedCountingMonoid(3, SumMonoid(691)) }, Fingerprint { range: Range(267, 358), fp: EncodedCountingMonoid(5, SumMonoid(1574)) }, Fingerprint { range: Range(358, 401), fp: EncodedCountingMonoid(4, SumMonoid(1512)) }, Fingerprint { range: Range(527, 614), fp: EncodedCountingMonoid(3, SumMonoid(1695)) }, Fingerprint { range: Range(872, 964), fp: EncodedCountingMonoid(3, SumMonoid(2779)) }, Fingerprint { range: Range(964, 1000), fp: EncodedCountingMonoid(3, SumMonoid(2954)) }], item_sets: [ItemSet { range: Range(251, 267), items: [251, 256], want_response: true }, ItemSet { range: Range(401, 526), items: [419, 521], want_response: true }, ItemSet { range: Range(526, 527), items: [526], want_response: true }, ItemSet { range: Range(614, 668), items: [614, 666], want_response: true }, ItemSet { range: Range(668, 727), items: [710, 712], want_response: true }, ItemSet { range: Range(727, 772), items: [727, 731], want_response: true }, ItemSet { range: Range(772, 813), items: [772, 775], want_response: true }, ItemSet { range: Range(813, 872), items: [813], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(162, 209), fp: EncodedCountingMonoid(3, SumMonoid(494)) }, Fingerprint { range: Range(267, 319), fp: EncodedCountingMonoid(3, SumMonoid(898)) }, Fingerprint { range: Range(319, 358), fp: EncodedCountingMonoid(3, SumMonoid(1023)) }, Fingerprint { range: Range(527, 567), fp: EncodedCountingMonoid(3, SumMonoid(1620)) }], item_sets: [ItemSet { range: Range(251, 267), items: [256], want_response: false }, ItemSet { range: Range(401, 526), items: [401, 406, 417, 444, 466, 472, 523], want_response: false }, ItemSet { range: Range(526, 527), items: [], want_response: false }, ItemSet { range: Range(614, 668), items: [636, 646], want_response: false }, ItemSet { range: Range(668, 727), items: [668, 697, 698], want_response: false }, ItemSet { range: Range(727, 772), items: [732, 739, 754, 764], want_response: false }, ItemSet { range: Range(772, 813), items: [775, 776, 795, 810], want_response: false }, ItemSet { range: Range(813, 872), items: [853, 857], want_response: false }, ItemSet { range: Range(57, 71), items: [58, 68], want_response: true }, ItemSet { range: Range(71, 85), items: [71, 80], want_response: true }, ItemSet { range: Range(85, 162), items: [87, 103], want_response: true }, ItemSet { range: Range(209, 251), items: [209, 250], want_response: true }, ItemSet { range: Range(358, 401), items: [393], want_response: true }, ItemSet { range: Range(567, 614), items: [567, 585], want_response: true }, ItemSet { range: Range(872, 928), items: [872, 882], want_response: true }, ItemSet { range: Range(928, 964), items: [928], want_response: true }, ItemSet { range: Range(964, 979), items: [974, 975], want_response: true }, ItemSet { range: Range(979, 1000), items: [979], want_response: true }], wants: [251, 419, 521, 526, 614, 666, 710, 712, 727, 731, 772, 813], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(57, 71), items: [57, 66], want_response: false }, ItemSet { range: Range(71, 85), items: [74, 76], want_response: false }, ItemSet { range: Range(85, 162), items: [85, 91, 119, 142], want_response: false }, ItemSet { range: Range(209, 251), items: [220, 223, 248], want_response: false }, ItemSet { range: Range(358, 401), items: [358, 377, 379, 398], want_response: false }, ItemSet { range: Range(567, 614), items: [600], want_response: false }, ItemSet { range: Range(872, 928), items: [882], want_response: false }, ItemSet { range: Range(928, 964), items: [945, 952], want_response: false }, ItemSet { range: Range(964, 979), items: [964], want_response: false }, ItemSet { range: Range(979, 1000), items: [991, 999], want_response: false }, ItemSet { range: Range(162, 209), items: [], want_response: true }, ItemSet { range: Range(267, 319), items: [267, 278], want_response: true }, ItemSet { range: Range(319, 352), items: [334, 343], want_response: true }, ItemSet { range: Range(352, 358), items: [352], want_response: true }, ItemSet { range: Range(527, 567), items: [542, 553], want_response: true }], wants: [401, 406, 417, 444, 466, 472, 523, 636, 646, 668, 697, 698, 732, 739, 754, 764, 776, 795, 810, 853, 857, 58, 68, 71, 80, 87, 103, 209, 250, 393, 567, 585, 872, 928, 974, 975, 979], provide: [(251, true), (419, true), (521, true), (526, true), (614, true), (666, true), (710, true), (712, true), (727, true), (731, true), (772, true), (813, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(162, 209), items: [162, 164, 168], want_response: false }, ItemSet { range: Range(267, 319), items: [295, 300, 303], want_response: false }, ItemSet { range: Range(319, 352), items: [319, 347], want_response: false }, ItemSet { range: Range(352, 358), items: [357], want_response: false }, ItemSet { range: Range(527, 567), items: [527, 544, 549], want_response: false }], wants: [57, 66, 74, 76, 85, 91, 119, 142, 220, 223, 248, 358, 377, 379, 398, 600, 945, 952, 964, 991, 999, 267, 278, 334, 343, 352, 542, 553], provide: [(401, true), (406, true), (417, true), (444, true), (466, true), (472, true), (523, true), (636, true), (646, true), (668, true), (697, true), (698, true), (732, true), (739, true), (754, true), (764, true), (776, true), (795, true), (810, true), (853, true), (857, true), (58, true), (68, true), (71, true), (80, true), (87, true), (103, true), (209, true), (250, true), (393, true), (567, true), (585, true), (872, true), (928, true), (974, true), (975, true), (979, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [162, 164, 168, 295, 300, 303, 319, 347, 357, 527, 544, 549], provide: [(57, true), (66, true), (74, true), (76, true), (85, true), (91, true), (119, true), (142, true), (220, true), (223, true), (248, true), (358, true), (377, true), (379, true), (398, true), (600, true), (945, true), (952, true), (964, true), (991, true), (999, true), (267, true), (278, true), (334, true), (343, true), (352, true), (542, true), (553, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(162, true), (164, true), (168, true), (295, true), (300, true), (303, true), (319, true), (347, true), (357, true), (527, true), (544, true), (549, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {57, 66, 74, 76, 85, 91, 119, 142, 220, 223, 248, 251, 256, 267, 278, 334, 343, 352, 358, 377, 379, 398, 419, 521, 526, 542, 553, 600, 614, 666, 710, 712, 727, 731, 772, 775, 813, 882, 945, 952, 964, 991, 999} + [3, 14, 20, 51, 401, 406, 417, 444, 466, 472, 523, 636, 646, 668, 697, 698, 732, 739, 754, 764, 776, 795, 810, 853, 857, 58, 68, 71, 80, 87, 103, 209, 250, 393, 567, 585, 872, 928, 974, 975, 979, 162, 164, 168, 295, 300, 303, 319, 347, 357, 527, 544, 549] [INFO] [stdout] b all: {3, 14, 20, 51, 58, 68, 71, 80, 87, 103, 162, 164, 168, 209, 250, 256, 295, 300, 303, 319, 347, 357, 393, 401, 406, 417, 444, 466, 472, 523, 527, 544, 549, 567, 585, 636, 646, 668, 697, 698, 732, 739, 754, 764, 775, 776, 795, 810, 853, 857, 872, 882, 928, 974, 975, 979} + [251, 419, 521, 526, 614, 666, 710, 712, 727, 731, 772, 813, 57, 66, 74, 76, 85, 91, 119, 142, 220, 223, 248, 358, 377, 379, 398, 600, 945, 952, 964, 991, 999, 267, 278, 334, 343, 352, 542, 553] [INFO] [stdout] [INFO] [stdout] all vec: [3, 14, 20, 51, 57, 58, 66, 68, 71, 74, 76, 80, 85, 87, 91, 103, 119, 142, 162, 164, 168, 209, 220, 223, 248, 250, 251, 256, 267, 278, 295, 300, 303, 319, 334, 343, 347, 352, 357, 358, 377, 379, 393, 398, 401, 406, 417, 419, 444, 466, 472, 521, 523, 526, 527, 542, 544, 549, 553, 567, 585, 600, 614, 636, 646, 666, 668, 697, 698, 710, 712, 727, 731, 732, 739, 754, 764, 772, 775, 776, 795, 810, 813, 853, 857, 872, 882, 928, 945, 952, 964, 974, 975, 979, 991, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 14, 20, 51, 57, 58, 66, 68, 71, 74, 76, 80, 85, 87, 91, 103, 119, 142, 162, 164, 168, 209, 220, 223, 248, 250, 251, 256, 267, 278, 295, 300, 303, 319, 334, 343, 347, 352, 357, 358, 377, 379, 393, 398, 401, 406, 417, 419, 444, 466, 472, 521, 523, 526, 527, 542, 544, 549, 553, 567, 585, 600, 614, 636, 646, 666, 668, 697, 698, 710, 712, 727, 731, 732, 739, 754, 764, 772, 775, 776, 795, 810, 813, 853, 857, 872, 882, 928, 945, 952, 964, 974, 975, 979, 991, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 14, 20, 51, 57, 58, 66, 68, 71, 74, 76, 80, 85, 87, 91, 103, 119, 142, 162, 164, 168, 209, 220, 223, 248, 250, 251, 256, 267, 278, 295, 300, 303, 319, 334, 343, 347, 352, 357, 358, 377, 379, 393, 398, 401, 406, 417, 419, 444, 466, 472, 521, 523, 526, 527, 542, 544, 549, 553, 567, 585, 600, 614, 636, 646, 666, 668, 697, 698, 710, 712, 727, 731, 732, 739, 754, 764, 772, 775, 776, 795, 810, 813, 853, 857, 872, 882, 928, 945, 952, 964, 974, 975, 979, 991, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {51, 337, 413, 420, 683, 779} [INFO] [stdout] b items: {35, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 338, 392, 403, 416, 420, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 685, 727, 761, 770, 775, 788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(51, 780), fp: EncodedCountingMonoid(6, SumMonoid(2683)) }], item_sets: [ItemSet { range: Range(780, 51), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(51, 501), fp: EncodedCountingMonoid(16, SumMonoid(4743)) }, Fingerprint { range: Range(501, 780), fp: EncodedCountingMonoid(16, SumMonoid(10201)) }], item_sets: [ItemSet { range: Range(780, 51), items: [788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998, 35], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(51, 413), items: [51, 337], want_response: true }, ItemSet { range: Range(413, 501), items: [413, 420], want_response: true }, ItemSet { range: Range(501, 780), items: [683, 779], want_response: true }], wants: [788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998, 35], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(51, 413), items: [79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 338, 392, 403], want_response: false }, ItemSet { range: Range(413, 501), items: [416, 420, 490], want_response: false }, ItemSet { range: Range(501, 780), items: [501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 685, 727, 761, 770, 775], want_response: false }], wants: [51, 337, 413, 683, 779], provide: [(788, true), (798, true), (804, true), (808, true), (813, true), (835, true), (867, true), (903, true), (936, true), (964, true), (998, true), (35, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 338, 392, 403, 416, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 685, 727, 761, 770, 775], provide: [(51, true), (337, true), (413, true), (683, true), (779, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(79, true), (99, true), (170, true), (231, true), (260, true), (271, true), (273, true), (292, true), (293, true), (316, true), (338, true), (392, true), (403, true), (416, true), (490, true), (501, true), (507, true), (510, true), (548, true), (578, true), (603, true), (623, true), (625, true), (655, true), (661, true), (672, true), (685, true), (727, true), (761, true), (770, true), (775, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {51, 337, 413, 420, 683, 779} + [788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998, 35, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 338, 392, 403, 416, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 685, 727, 761, 770, 775] [INFO] [stdout] b all: {35, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 338, 392, 403, 416, 420, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 685, 727, 761, 770, 775, 788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998} + [51, 337, 413, 683, 779] [INFO] [stdout] [INFO] [stdout] all vec: [35, 51, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 337, 338, 392, 403, 413, 416, 420, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 683, 685, 727, 761, 770, 775, 779, 788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [35, 51, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 337, 338, 392, 403, 413, 416, 420, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 683, 685, 727, 761, 770, 775, 779, 788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [35, 51, 79, 99, 170, 231, 260, 271, 273, 292, 293, 316, 337, 338, 392, 403, 413, 416, 420, 490, 501, 507, 510, 548, 578, 603, 623, 625, 655, 661, 672, 683, 685, 727, 761, 770, 775, 779, 788, 798, 804, 808, 813, 835, 867, 903, 936, 964, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {22, 70, 129, 175, 213, 284, 516, 535, 620, 675, 715, 977} [INFO] [stdout] b items: {15, 42, 52, 68, 113, 133, 138, 162, 166, 170, 177, 247, 253, 257, 266, 267, 268, 270, 271, 277, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 521, 527, 534, 549, 555, 556, 558, 578, 582, 584, 592, 608, 611, 639, 645, 647, 658, 669, 708, 709, 710, 713, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 987} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 978), fp: EncodedCountingMonoid(12, SumMonoid(4931)) }], item_sets: [ItemSet { range: Range(978, 22), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 558), fp: EncodedCountingMonoid(39, SumMonoid(12357)) }, Fingerprint { range: Range(558, 978), fp: EncodedCountingMonoid(38, SumMonoid(28943)) }], item_sets: [ItemSet { range: Range(978, 22), items: [987, 15], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 213), fp: EncodedCountingMonoid(4, SumMonoid(396)) }, Fingerprint { range: Range(213, 558), fp: EncodedCountingMonoid(4, SumMonoid(1548)) }], item_sets: [ItemSet { range: Range(558, 715), items: [620, 675], want_response: true }, ItemSet { range: Range(715, 978), items: [715, 977], want_response: true }], wants: [987, 15], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 138), fp: EncodedCountingMonoid(5, SumMonoid(408)) }, Fingerprint { range: Range(138, 213), fp: EncodedCountingMonoid(5, SumMonoid(813)) }, Fingerprint { range: Range(213, 383), fp: EncodedCountingMonoid(15, SumMonoid(4388)) }, Fingerprint { range: Range(383, 558), fp: EncodedCountingMonoid(14, SumMonoid(6748)) }], item_sets: [ItemSet { range: Range(558, 715), items: [558, 578, 582, 584, 592, 608, 611, 639, 645, 647, 658, 669, 708, 709, 710, 713], want_response: false }, ItemSet { range: Range(715, 978), items: [717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954], want_response: false }], wants: [620, 675, 715, 977], provide: [(987, true), (15, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(22, 129), items: [22, 70], want_response: true }, ItemSet { range: Range(129, 138), items: [129], want_response: true }, ItemSet { range: Range(138, 213), items: [175], want_response: true }, ItemSet { range: Range(213, 383), items: [213, 284], want_response: true }, ItemSet { range: Range(383, 558), items: [516, 535], want_response: true }], wants: [558, 578, 582, 584, 592, 608, 611, 639, 645, 647, 658, 669, 708, 709, 710, 713, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954], provide: [(620, true), (675, true), (715, true), (977, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(22, 129), items: [42, 52, 68, 113], want_response: false }, ItemSet { range: Range(129, 138), items: [133], want_response: false }, ItemSet { range: Range(138, 213), items: [138, 162, 166, 170, 177], want_response: false }, ItemSet { range: Range(213, 383), items: [247, 253, 257, 266, 267, 268, 270, 271, 277, 287, 307, 342, 353, 360, 363], want_response: false }, ItemSet { range: Range(383, 558), items: [383, 406, 433, 441, 447, 453, 459, 484, 521, 527, 534, 549, 555, 556], want_response: false }], wants: [22, 70, 129, 175, 213, 284, 516, 535], provide: [(558, true), (578, true), (582, true), (584, true), (592, true), (608, true), (611, true), (639, true), (645, true), (647, true), (658, true), (669, true), (708, true), (709, true), (710, true), (713, true), (717, true), (747, true), (749, true), (760, true), (766, true), (774, true), (785, true), (804, true), (816, true), (837, true), (870, true), (883, true), (896, true), (897, true), (905, true), (906, true), (923, true), (927, true), (934, true), (940, true), (942, true), (954, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [42, 52, 68, 113, 133, 138, 162, 166, 170, 177, 247, 253, 257, 266, 267, 268, 270, 271, 277, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 521, 527, 534, 549, 555, 556], provide: [(22, true), (70, true), (129, true), (175, true), (213, true), (284, true), (516, true), (535, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(42, true), (52, true), (68, true), (113, true), (133, true), (138, true), (162, true), (166, true), (170, true), (177, true), (247, true), (253, true), (257, true), (266, true), (267, true), (268, true), (270, true), (271, true), (277, true), (287, true), (307, true), (342, true), (353, true), (360, true), (363, true), (383, true), (406, true), (433, true), (441, true), (447, true), (453, true), (459, true), (484, true), (521, true), (527, true), (534, true), (549, true), (555, true), (556, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {22, 70, 129, 175, 213, 284, 516, 535, 620, 675, 715, 977} + [987, 15, 558, 578, 582, 584, 592, 608, 611, 639, 645, 647, 658, 669, 708, 709, 710, 713, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 42, 52, 68, 113, 133, 138, 162, 166, 170, 177, 247, 253, 257, 266, 267, 268, 270, 271, 277, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 521, 527, 534, 549, 555, 556] [INFO] [stdout] b all: {15, 42, 52, 68, 113, 133, 138, 162, 166, 170, 177, 247, 253, 257, 266, 267, 268, 270, 271, 277, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 521, 527, 534, 549, 555, 556, 558, 578, 582, 584, 592, 608, 611, 639, 645, 647, 658, 669, 708, 709, 710, 713, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 987} + [620, 675, 715, 977, 22, 70, 129, 175, 213, 284, 516, 535] [INFO] [stdout] [INFO] [stdout] all vec: [15, 22, 42, 52, 68, 70, 113, 129, 133, 138, 162, 166, 170, 175, 177, 213, 247, 253, 257, 266, 267, 268, 270, 271, 277, 284, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 516, 521, 527, 534, 535, 549, 555, 556, 558, 578, 582, 584, 592, 608, 611, 620, 639, 645, 647, 658, 669, 675, 708, 709, 710, 713, 715, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 977, 987] [INFO] [stdout] [INFO] [stdout] a all vec: [15, 22, 42, 52, 68, 70, 113, 129, 133, 138, 162, 166, 170, 175, 177, 213, 247, 253, 257, 266, 267, 268, 270, 271, 277, 284, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 516, 521, 527, 534, 535, 549, 555, 556, 558, 578, 582, 584, 592, 608, 611, 620, 639, 645, 647, 658, 669, 675, 708, 709, 710, 713, 715, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 977, 987], true true [INFO] [stdout] [INFO] [stdout] b all vec: [15, 22, 42, 52, 68, 70, 113, 129, 133, 138, 162, 166, 170, 175, 177, 213, 247, 253, 257, 266, 267, 268, 270, 271, 277, 284, 287, 307, 342, 353, 360, 363, 383, 406, 433, 441, 447, 453, 459, 484, 516, 521, 527, 534, 535, 549, 555, 556, 558, 578, 582, 584, 592, 608, 611, 620, 639, 645, 647, 658, 669, 675, 708, 709, 710, 713, 715, 717, 747, 749, 760, 766, 774, 785, 804, 816, 837, 870, 883, 896, 897, 905, 906, 923, 927, 934, 940, 942, 954, 977, 987], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {35, 78, 150, 309, 331, 337, 375, 398, 451, 481, 524, 589, 697, 709, 731, 753, 854, 873, 901, 912, 951, 959} [INFO] [stdout] b items: {4, 18, 27, 56, 60, 78, 99, 115, 121, 150, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 312, 336, 339, 344, 346, 366, 367, 375, 395, 403, 406, 408, 417, 421, 428, 435, 450, 462, 469, 499, 506, 509, 549, 550, 553, 554, 574, 581, 584, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 701, 710, 714, 726, 727, 734, 759, 778, 788, 791, 825, 831, 896, 901, 928, 965, 990, 992} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(35, 960), fp: EncodedCountingMonoid(22, SumMonoid(12398)) }], item_sets: [ItemSet { range: Range(960, 35), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(35, 469), fp: EncodedCountingMonoid(40, SumMonoid(11046)) }, Fingerprint { range: Range(469, 960), fp: EncodedCountingMonoid(40, SumMonoid(26774)) }], item_sets: [ItemSet { range: Range(960, 35), items: [965, 990, 992, 4, 18, 27], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(35, 337), fp: EncodedCountingMonoid(5, SumMonoid(903)) }, Fingerprint { range: Range(337, 469), fp: EncodedCountingMonoid(4, SumMonoid(1561)) }, Fingerprint { range: Range(469, 854), fp: EncodedCountingMonoid(7, SumMonoid(4484)) }, Fingerprint { range: Range(854, 960), fp: EncodedCountingMonoid(6, SumMonoid(5450)) }], item_sets: [], wants: [965, 990, 992, 4, 18, 27], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(35, 192), fp: EncodedCountingMonoid(12, SumMonoid(1539)) }, Fingerprint { range: Range(192, 337), fp: EncodedCountingMonoid(12, SumMonoid(3145)) }, Fingerprint { range: Range(337, 406), fp: EncodedCountingMonoid(8, SumMonoid(2935)) }, Fingerprint { range: Range(406, 469), fp: EncodedCountingMonoid(8, SumMonoid(3427)) }, Fingerprint { range: Range(469, 656), fp: EncodedCountingMonoid(19, SumMonoid(10904)) }, Fingerprint { range: Range(656, 854), fp: EncodedCountingMonoid(18, SumMonoid(13145)) }], item_sets: [ItemSet { range: Range(854, 928), items: [896, 901], want_response: true }, ItemSet { range: Range(928, 960), items: [928], want_response: true }], wants: [], provide: [(965, true), (990, true), (992, true), (4, true), (18, true), (27, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(854, 928), items: [854, 873, 901, 912], want_response: false }, ItemSet { range: Range(928, 960), items: [951, 959], want_response: false }, ItemSet { range: Range(35, 150), items: [35, 78], want_response: true }, ItemSet { range: Range(150, 192), items: [150], want_response: true }, ItemSet { range: Range(192, 337), items: [309, 331], want_response: true }, ItemSet { range: Range(337, 398), items: [337, 375], want_response: true }, ItemSet { range: Range(398, 406), items: [398], want_response: true }, ItemSet { range: Range(406, 469), items: [451], want_response: true }, ItemSet { range: Range(469, 589), items: [481, 524], want_response: true }, ItemSet { range: Range(589, 656), items: [589], want_response: true }, ItemSet { range: Range(656, 731), items: [697, 709], want_response: true }, ItemSet { range: Range(731, 854), items: [731, 753], want_response: true }], wants: [896, 928], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(35, 150), items: [56, 60, 78, 99, 115, 121], want_response: false }, ItemSet { range: Range(150, 192), items: [150, 159, 160, 168, 182, 191], want_response: false }, ItemSet { range: Range(192, 337), items: [192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 312, 336], want_response: false }, ItemSet { range: Range(337, 398), items: [339, 344, 346, 366, 367, 375, 395], want_response: false }, ItemSet { range: Range(398, 406), items: [403], want_response: false }, ItemSet { range: Range(406, 469), items: [406, 408, 417, 421, 428, 435, 450, 462], want_response: false }, ItemSet { range: Range(469, 589), items: [469, 499, 506, 509, 549, 550, 553, 554, 574, 581, 584], want_response: false }, ItemSet { range: Range(589, 656), items: [596, 600, 601, 625, 633, 635, 637, 649], want_response: false }, ItemSet { range: Range(656, 731), items: [656, 663, 681, 683, 684, 694, 701, 710, 714, 726, 727], want_response: false }, ItemSet { range: Range(731, 854), items: [734, 759, 778, 788, 791, 825, 831], want_response: false }], wants: [854, 873, 912, 951, 959, 35, 309, 331, 337, 398, 451, 481, 524, 589, 697, 709, 731, 753], provide: [(896, true), (928, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [56, 60, 99, 115, 121, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 312, 336, 339, 344, 346, 366, 367, 395, 403, 406, 408, 417, 421, 428, 435, 450, 462, 469, 499, 506, 509, 549, 550, 553, 554, 574, 581, 584, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 701, 710, 714, 726, 727, 734, 759, 778, 788, 791, 825, 831], provide: [(854, true), (873, true), (912, true), (951, true), (959, true), (35, true), (309, true), (331, true), (337, true), (398, true), (451, true), (481, true), (524, true), (589, true), (697, true), (709, true), (731, true), (753, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(56, true), (60, true), (99, true), (115, true), (121, true), (159, true), (160, true), (168, true), (182, true), (191, true), (192, true), (205, true), (218, true), (226, true), (233, true), (253, true), (283, true), (284, true), (297, true), (306, true), (312, true), (336, true), (339, true), (344, true), (346, true), (366, true), (367, true), (395, true), (403, true), (406, true), (408, true), (417, true), (421, true), (428, true), (435, true), (450, true), (462, true), (469, true), (499, true), (506, true), (509, true), (549, true), (550, true), (553, true), (554, true), (574, true), (581, true), (584, true), (596, true), (600, true), (601, true), (625, true), (633, true), (635, true), (637, true), (649, true), (656, true), (663, true), (681, true), (683, true), (684, true), (694, true), (701, true), (710, true), (714, true), (726, true), (727, true), (734, true), (759, true), (778, true), (788, true), (791, true), (825, true), (831, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {35, 78, 150, 309, 331, 337, 375, 398, 451, 481, 524, 589, 697, 709, 731, 753, 854, 873, 901, 912, 951, 959} + [965, 990, 992, 4, 18, 27, 896, 928, 56, 60, 99, 115, 121, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 312, 336, 339, 344, 346, 366, 367, 395, 403, 406, 408, 417, 421, 428, 435, 450, 462, 469, 499, 506, 509, 549, 550, 553, 554, 574, 581, 584, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 701, 710, 714, 726, 727, 734, 759, 778, 788, 791, 825, 831] [INFO] [stdout] b all: {4, 18, 27, 56, 60, 78, 99, 115, 121, 150, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 312, 336, 339, 344, 346, 366, 367, 375, 395, 403, 406, 408, 417, 421, 428, 435, 450, 462, 469, 499, 506, 509, 549, 550, 553, 554, 574, 581, 584, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 701, 710, 714, 726, 727, 734, 759, 778, 788, 791, 825, 831, 896, 901, 928, 965, 990, 992} + [854, 873, 912, 951, 959, 35, 309, 331, 337, 398, 451, 481, 524, 589, 697, 709, 731, 753] [INFO] [stdout] [INFO] [stdout] all vec: [4, 18, 27, 35, 56, 60, 78, 99, 115, 121, 150, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 309, 312, 331, 336, 337, 339, 344, 346, 366, 367, 375, 395, 398, 403, 406, 408, 417, 421, 428, 435, 450, 451, 462, 469, 481, 499, 506, 509, 524, 549, 550, 553, 554, 574, 581, 584, 589, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 697, 701, 709, 710, 714, 726, 727, 731, 734, 753, 759, 778, 788, 791, 825, 831, 854, 873, 896, 901, 912, 928, 951, 959, 965, 990, 992] [INFO] [stdout] [INFO] [stdout] a all vec: [4, 18, 27, 35, 56, 60, 78, 99, 115, 121, 150, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 309, 312, 331, 336, 337, 339, 344, 346, 366, 367, 375, 395, 398, 403, 406, 408, 417, 421, 428, 435, 450, 451, 462, 469, 481, 499, 506, 509, 524, 549, 550, 553, 554, 574, 581, 584, 589, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 697, 701, 709, 710, 714, 726, 727, 731, 734, 753, 759, 778, 788, 791, 825, 831, 854, 873, 896, 901, 912, 928, 951, 959, 965, 990, 992], true true [INFO] [stdout] [INFO] [stdout] b all vec: [4, 18, 27, 35, 56, 60, 78, 99, 115, 121, 150, 159, 160, 168, 182, 191, 192, 205, 218, 226, 233, 253, 283, 284, 297, 306, 309, 312, 331, 336, 337, 339, 344, 346, 366, 367, 375, 395, 398, 403, 406, 408, 417, 421, 428, 435, 450, 451, 462, 469, 481, 499, 506, 509, 524, 549, 550, 553, 554, 574, 581, 584, 589, 596, 600, 601, 625, 633, 635, 637, 649, 656, 663, 681, 683, 684, 694, 697, 701, 709, 710, 714, 726, 727, 731, 734, 753, 759, 778, 788, 791, 825, 831, 854, 873, 896, 901, 912, 928, 951, 959, 965, 990, 992], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {30, 36, 62, 157, 159, 182, 209, 259, 279, 315, 323, 343, 379, 403, 415, 435, 449, 452, 468, 490, 527, 595, 597, 628, 650, 690, 800, 806, 837, 880, 943, 986} [INFO] [stdout] b items: {2, 32, 79, 83, 105, 108, 127, 145, 148, 153, 159, 164, 201, 211, 283, 302, 325, 344, 372, 408, 410, 414, 451, 486, 507, 531, 548, 559, 561, 562, 566, 567, 597, 624, 629, 669, 700, 711, 712, 720, 763, 831, 858, 873, 883, 888, 894, 930, 933, 966, 974} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 987), fp: EncodedCountingMonoid(32, SumMonoid(14784)) }], item_sets: [ItemSet { range: Range(987, 30), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 548), fp: EncodedCountingMonoid(25, SumMonoid(6548)) }, Fingerprint { range: Range(548, 987), fp: EncodedCountingMonoid(25, SumMonoid(18518)) }], item_sets: [ItemSet { range: Range(987, 30), items: [2], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 343), fp: EncodedCountingMonoid(11, SumMonoid(2011)) }, Fingerprint { range: Range(343, 548), fp: EncodedCountingMonoid(10, SumMonoid(4361)) }, Fingerprint { range: Range(548, 806), fp: EncodedCountingMonoid(6, SumMonoid(3960)) }, Fingerprint { range: Range(806, 987), fp: EncodedCountingMonoid(5, SumMonoid(4452)) }], item_sets: [], wants: [2], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 153), fp: EncodedCountingMonoid(8, SumMonoid(827)) }, Fingerprint { range: Range(153, 343), fp: EncodedCountingMonoid(8, SumMonoid(1798)) }, Fingerprint { range: Range(343, 451), fp: EncodedCountingMonoid(5, SumMonoid(1948)) }, Fingerprint { range: Range(451, 548), fp: EncodedCountingMonoid(4, SumMonoid(1975)) }, Fingerprint { range: Range(548, 629), fp: EncodedCountingMonoid(8, SumMonoid(4584)) }, Fingerprint { range: Range(629, 806), fp: EncodedCountingMonoid(7, SumMonoid(4904)) }, Fingerprint { range: Range(806, 894), fp: EncodedCountingMonoid(5, SumMonoid(4333)) }, Fingerprint { range: Range(894, 987), fp: EncodedCountingMonoid(5, SumMonoid(4697)) }], item_sets: [], wants: [], provide: [(2, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(153, 259), fp: EncodedCountingMonoid(4, SumMonoid(707)) }, Fingerprint { range: Range(259, 343), fp: EncodedCountingMonoid(4, SumMonoid(1176)) }, Fingerprint { range: Range(343, 415), fp: EncodedCountingMonoid(3, SumMonoid(1125)) }, Fingerprint { range: Range(415, 451), fp: EncodedCountingMonoid(3, SumMonoid(1299)) }], item_sets: [ItemSet { range: Range(30, 62), items: [30, 36], want_response: true }, ItemSet { range: Range(62, 153), items: [62], want_response: true }, ItemSet { range: Range(451, 490), items: [452, 468], want_response: true }, ItemSet { range: Range(490, 548), items: [490, 527], want_response: true }, ItemSet { range: Range(548, 628), items: [595, 597], want_response: true }, ItemSet { range: Range(628, 629), items: [628], want_response: true }, ItemSet { range: Range(629, 800), items: [650, 690], want_response: true }, ItemSet { range: Range(800, 806), items: [800], want_response: true }, ItemSet { range: Range(806, 880), items: [806, 837], want_response: true }, ItemSet { range: Range(880, 894), items: [880], want_response: true }, ItemSet { range: Range(894, 987), items: [943, 986], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(153, 201), fp: EncodedCountingMonoid(3, SumMonoid(476)) }, Fingerprint { range: Range(343, 410), fp: EncodedCountingMonoid(3, SumMonoid(1124)) }], item_sets: [ItemSet { range: Range(30, 62), items: [32], want_response: false }, ItemSet { range: Range(62, 153), items: [79, 83, 105, 108, 127, 145, 148], want_response: false }, ItemSet { range: Range(451, 490), items: [451, 486], want_response: false }, ItemSet { range: Range(490, 548), items: [507, 531], want_response: false }, ItemSet { range: Range(548, 628), items: [548, 559, 561, 562, 566, 567, 597, 624], want_response: false }, ItemSet { range: Range(628, 629), items: [], want_response: false }, ItemSet { range: Range(629, 800), items: [629, 669, 700, 711, 712, 720, 763], want_response: false }, ItemSet { range: Range(800, 806), items: [], want_response: false }, ItemSet { range: Range(806, 880), items: [831, 858, 873], want_response: false }, ItemSet { range: Range(880, 894), items: [883, 888], want_response: false }, ItemSet { range: Range(894, 987), items: [894, 930, 933, 966, 974], want_response: false }, ItemSet { range: Range(201, 259), items: [201, 211], want_response: true }, ItemSet { range: Range(259, 325), items: [283, 302], want_response: true }, ItemSet { range: Range(325, 343), items: [325], want_response: true }, ItemSet { range: Range(410, 415), items: [410, 414], want_response: true }, ItemSet { range: Range(415, 451), items: [], want_response: true }], wants: [30, 36, 62, 452, 468, 490, 527, 595, 628, 650, 690, 800, 806, 837, 880, 943, 986], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(201, 259), items: [209], want_response: false }, ItemSet { range: Range(259, 325), items: [259, 279, 315, 323], want_response: false }, ItemSet { range: Range(325, 343), items: [], want_response: false }, ItemSet { range: Range(410, 415), items: [], want_response: false }, ItemSet { range: Range(415, 451), items: [415, 435, 449], want_response: false }, ItemSet { range: Range(153, 182), items: [157, 159], want_response: true }, ItemSet { range: Range(182, 201), items: [182], want_response: true }, ItemSet { range: Range(343, 403), items: [343, 379], want_response: true }, ItemSet { range: Range(403, 410), items: [403], want_response: true }], wants: [32, 79, 83, 105, 108, 127, 145, 148, 451, 486, 507, 531, 548, 559, 561, 562, 566, 567, 624, 629, 669, 700, 711, 712, 720, 763, 831, 858, 873, 883, 888, 894, 930, 933, 966, 974, 201, 211, 283, 302, 325, 410, 414], provide: [(30, true), (36, true), (62, true), (452, true), (468, true), (490, true), (527, true), (595, true), (628, true), (650, true), (690, true), (800, true), (806, true), (837, true), (880, true), (943, true), (986, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(153, 182), items: [153, 159, 164], want_response: false }, ItemSet { range: Range(182, 201), items: [], want_response: false }, ItemSet { range: Range(343, 403), items: [344, 372], want_response: false }, ItemSet { range: Range(403, 410), items: [408], want_response: false }], wants: [209, 259, 279, 315, 323, 415, 435, 449, 157, 182, 343, 379, 403], provide: [(32, true), (79, true), (83, true), (105, true), (108, true), (127, true), (145, true), (148, true), (451, true), (486, true), (507, true), (531, true), (548, true), (559, true), (561, true), (562, true), (566, true), (567, true), (624, true), (629, true), (669, true), (700, true), (711, true), (712, true), (720, true), (763, true), (831, true), (858, true), (873, true), (883, true), (888, true), (894, true), (930, true), (933, true), (966, true), (974, true), (201, true), (211, true), (283, true), (302, true), (325, true), (410, true), (414, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [153, 164, 344, 372, 408], provide: [(209, true), (259, true), (279, true), (315, true), (323, true), (415, true), (435, true), (449, true), (157, true), (182, true), (343, true), (379, true), (403, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(153, true), (164, true), (344, true), (372, true), (408, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {30, 36, 62, 157, 159, 182, 209, 259, 279, 315, 323, 343, 379, 403, 415, 435, 449, 452, 468, 490, 527, 595, 597, 628, 650, 690, 800, 806, 837, 880, 943, 986} + [2, 32, 79, 83, 105, 108, 127, 145, 148, 451, 486, 507, 531, 548, 559, 561, 562, 566, 567, 624, 629, 669, 700, 711, 712, 720, 763, 831, 858, 873, 883, 888, 894, 930, 933, 966, 974, 201, 211, 283, 302, 325, 410, 414, 153, 164, 344, 372, 408] [INFO] [stdout] b all: {2, 32, 79, 83, 105, 108, 127, 145, 148, 153, 159, 164, 201, 211, 283, 302, 325, 344, 372, 408, 410, 414, 451, 486, 507, 531, 548, 559, 561, 562, 566, 567, 597, 624, 629, 669, 700, 711, 712, 720, 763, 831, 858, 873, 883, 888, 894, 930, 933, 966, 974} + [30, 36, 62, 452, 468, 490, 527, 595, 628, 650, 690, 800, 806, 837, 880, 943, 986, 209, 259, 279, 315, 323, 415, 435, 449, 157, 182, 343, 379, 403] [INFO] [stdout] [INFO] [stdout] all vec: [2, 30, 32, 36, 62, 79, 83, 105, 108, 127, 145, 148, 153, 157, 159, 164, 182, 201, 209, 211, 259, 279, 283, 302, 315, 323, 325, 343, 344, 372, 379, 403, 408, 410, 414, 415, 435, 449, 451, 452, 468, 486, 490, 507, 527, 531, 548, 559, 561, 562, 566, 567, 595, 597, 624, 628, 629, 650, 669, 690, 700, 711, 712, 720, 763, 800, 806, 831, 837, 858, 873, 880, 883, 888, 894, 930, 933, 943, 966, 974, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 30, 32, 36, 62, 79, 83, 105, 108, 127, 145, 148, 153, 157, 159, 164, 182, 201, 209, 211, 259, 279, 283, 302, 315, 323, 325, 343, 344, 372, 379, 403, 408, 410, 414, 415, 435, 449, 451, 452, 468, 486, 490, 507, 527, 531, 548, 559, 561, 562, 566, 567, 595, 597, 624, 628, 629, 650, 669, 690, 700, 711, 712, 720, 763, 800, 806, 831, 837, 858, 873, 880, 883, 888, 894, 930, 933, 943, 966, 974, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 30, 32, 36, 62, 79, 83, 105, 108, 127, 145, 148, 153, 157, 159, 164, 182, 201, 209, 211, 259, 279, 283, 302, 315, 323, 325, 343, 344, 372, 379, 403, 408, 410, 414, 415, 435, 449, 451, 452, 468, 486, 490, 507, 527, 531, 548, 559, 561, 562, 566, 567, 595, 597, 624, 628, 629, 650, 669, 690, 700, 711, 712, 720, 763, 800, 806, 831, 837, 858, 873, 880, 883, 888, 894, 930, 933, 943, 966, 974, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {30, 36, 61, 93, 104, 114, 122, 126, 134, 161, 163, 179, 191, 198, 205, 264, 289, 333, 359, 410, 437, 449, 469, 470, 477, 491, 514, 539, 569, 612, 615, 635, 701, 738, 754, 759, 790, 808, 819, 826, 829, 836, 863, 868, 881, 887, 898, 933, 960, 978, 991} [INFO] [stdout] b items: {3, 4, 12, 24, 31, 37, 46, 52, 71, 84, 85, 87, 108, 109, 119, 122, 147, 159, 162, 174, 186, 188, 195, 240, 257, 273, 288, 291, 298, 343, 384, 414, 437, 454, 459, 464, 499, 517, 528, 530, 533, 536, 539, 545, 558, 630, 631, 647, 674, 686, 696, 702, 712, 715, 748, 752, 768, 771, 778, 790, 806, 812, 827, 830, 836, 858, 875, 877, 879, 895, 909, 917, 924, 946, 952, 969, 972, 977} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 992), fp: EncodedCountingMonoid(51, SumMonoid(25968)) }], item_sets: [ItemSet { range: Range(992, 30), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 536), fp: EncodedCountingMonoid(37, SumMonoid(9371)) }, Fingerprint { range: Range(536, 992), fp: EncodedCountingMonoid(37, SumMonoid(28939)) }], item_sets: [ItemSet { range: Range(992, 30), items: [3, 4, 12, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 205), fp: EncodedCountingMonoid(14, SumMonoid(1712)) }, Fingerprint { range: Range(205, 536), fp: EncodedCountingMonoid(13, SumMonoid(5167)) }, Fingerprint { range: Range(536, 826), fp: EncodedCountingMonoid(12, SumMonoid(8339)) }, Fingerprint { range: Range(826, 992), fp: EncodedCountingMonoid(12, SumMonoid(10750)) }], item_sets: [], wants: [3, 4, 12, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 119), fp: EncodedCountingMonoid(10, SumMonoid(710)) }, Fingerprint { range: Range(119, 205), fp: EncodedCountingMonoid(9, SumMonoid(1452)) }, Fingerprint { range: Range(205, 437), fp: EncodedCountingMonoid(9, SumMonoid(2788)) }, Fingerprint { range: Range(437, 536), fp: EncodedCountingMonoid(9, SumMonoid(4421)) }, Fingerprint { range: Range(536, 712), fp: EncodedCountingMonoid(11, SumMonoid(6844)) }, Fingerprint { range: Range(712, 826), fp: EncodedCountingMonoid(10, SumMonoid(7652)) }, Fingerprint { range: Range(826, 909), fp: EncodedCountingMonoid(8, SumMonoid(6877)) }, Fingerprint { range: Range(909, 992), fp: EncodedCountingMonoid(8, SumMonoid(7566)) }], item_sets: [], wants: [], provide: [(3, true), (4, true), (12, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 93), fp: EncodedCountingMonoid(3, SumMonoid(127)) }, Fingerprint { range: Range(93, 119), fp: EncodedCountingMonoid(3, SumMonoid(311)) }, Fingerprint { range: Range(119, 163), fp: EncodedCountingMonoid(4, SumMonoid(543)) }, Fingerprint { range: Range(163, 205), fp: EncodedCountingMonoid(4, SumMonoid(731)) }, Fingerprint { range: Range(205, 333), fp: EncodedCountingMonoid(3, SumMonoid(758)) }, Fingerprint { range: Range(333, 437), fp: EncodedCountingMonoid(3, SumMonoid(1102)) }, Fingerprint { range: Range(437, 477), fp: EncodedCountingMonoid(4, SumMonoid(1825)) }, Fingerprint { range: Range(477, 536), fp: EncodedCountingMonoid(3, SumMonoid(1482)) }, Fingerprint { range: Range(536, 615), fp: EncodedCountingMonoid(3, SumMonoid(1720)) }, Fingerprint { range: Range(615, 712), fp: EncodedCountingMonoid(3, SumMonoid(1951)) }, Fingerprint { range: Range(712, 790), fp: EncodedCountingMonoid(3, SumMonoid(2251)) }, Fingerprint { range: Range(790, 826), fp: EncodedCountingMonoid(3, SumMonoid(2417)) }, Fingerprint { range: Range(826, 868), fp: EncodedCountingMonoid(4, SumMonoid(3354)) }, Fingerprint { range: Range(868, 909), fp: EncodedCountingMonoid(4, SumMonoid(3534)) }], item_sets: [ItemSet { range: Range(909, 978), items: [933, 960], want_response: true }, ItemSet { range: Range(978, 992), items: [978, 991], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(30, 71), fp: EncodedCountingMonoid(4, SumMonoid(166)) }, Fingerprint { range: Range(71, 93), fp: EncodedCountingMonoid(4, SumMonoid(327)) }, Fingerprint { range: Range(119, 159), fp: EncodedCountingMonoid(3, SumMonoid(388)) }, Fingerprint { range: Range(205, 288), fp: EncodedCountingMonoid(3, SumMonoid(770)) }, Fingerprint { range: Range(288, 333), fp: EncodedCountingMonoid(3, SumMonoid(877)) }, Fingerprint { range: Range(477, 530), fp: EncodedCountingMonoid(3, SumMonoid(1544)) }, Fingerprint { range: Range(615, 686), fp: EncodedCountingMonoid(4, SumMonoid(2582)) }, Fingerprint { range: Range(686, 712), fp: EncodedCountingMonoid(3, SumMonoid(2084)) }, Fingerprint { range: Range(712, 768), fp: EncodedCountingMonoid(4, SumMonoid(2927)) }, Fingerprint { range: Range(768, 790), fp: EncodedCountingMonoid(3, SumMonoid(2317)) }], item_sets: [ItemSet { range: Range(909, 978), items: [909, 917, 924, 946, 952, 969, 972, 977], want_response: false }, ItemSet { range: Range(978, 992), items: [], want_response: false }, ItemSet { range: Range(93, 119), items: [108, 109], want_response: true }, ItemSet { range: Range(159, 163), items: [159, 162], want_response: true }, ItemSet { range: Range(163, 188), items: [174, 186], want_response: true }, ItemSet { range: Range(188, 205), items: [188, 195], want_response: true }, ItemSet { range: Range(333, 414), items: [343, 384], want_response: true }, ItemSet { range: Range(414, 437), items: [414], want_response: true }, ItemSet { range: Range(437, 459), items: [437, 454], want_response: true }, ItemSet { range: Range(459, 477), items: [459, 464], want_response: true }, ItemSet { range: Range(530, 536), items: [530, 533], want_response: true }, ItemSet { range: Range(536, 545), items: [536, 539], want_response: true }, ItemSet { range: Range(545, 615), items: [545, 558], want_response: true }, ItemSet { range: Range(790, 812), items: [790, 806], want_response: true }, ItemSet { range: Range(812, 826), items: [812], want_response: true }, ItemSet { range: Range(826, 836), items: [827, 830], want_response: true }, ItemSet { range: Range(836, 868), items: [836, 858], want_response: true }, ItemSet { range: Range(868, 879), items: [875, 877], want_response: true }, ItemSet { range: Range(879, 909), items: [879, 895], want_response: true }], wants: [933, 960, 978, 991], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(93, 119), items: [93, 104, 114], want_response: false }, ItemSet { range: Range(159, 163), items: [161], want_response: false }, ItemSet { range: Range(163, 188), items: [163, 179], want_response: false }, ItemSet { range: Range(188, 205), items: [191, 198], want_response: false }, ItemSet { range: Range(333, 414), items: [333, 359, 410], want_response: false }, ItemSet { range: Range(414, 437), items: [], want_response: false }, ItemSet { range: Range(437, 459), items: [437, 449], want_response: false }, ItemSet { range: Range(459, 477), items: [469, 470], want_response: false }, ItemSet { range: Range(530, 536), items: [], want_response: false }, ItemSet { range: Range(536, 545), items: [539], want_response: false }, ItemSet { range: Range(545, 615), items: [569, 612], want_response: false }, ItemSet { range: Range(790, 812), items: [790, 808], want_response: false }, ItemSet { range: Range(812, 826), items: [819], want_response: false }, ItemSet { range: Range(826, 836), items: [826, 829], want_response: false }, ItemSet { range: Range(836, 868), items: [836, 863], want_response: false }, ItemSet { range: Range(868, 879), items: [868], want_response: false }, ItemSet { range: Range(879, 909), items: [881, 887, 898], want_response: false }, ItemSet { range: Range(30, 61), items: [30, 36], want_response: true }, ItemSet { range: Range(61, 71), items: [61], want_response: true }, ItemSet { range: Range(71, 93), items: [], want_response: true }, ItemSet { range: Range(119, 134), items: [122, 126], want_response: true }, ItemSet { range: Range(134, 159), items: [134], want_response: true }, ItemSet { range: Range(205, 288), items: [205, 264], want_response: true }, ItemSet { range: Range(288, 333), items: [289], want_response: true }, ItemSet { range: Range(477, 514), items: [477, 491], want_response: true }, ItemSet { range: Range(514, 530), items: [514], want_response: true }, ItemSet { range: Range(615, 686), items: [615, 635], want_response: true }, ItemSet { range: Range(686, 712), items: [701], want_response: true }, ItemSet { range: Range(712, 759), items: [738, 754], want_response: true }, ItemSet { range: Range(759, 768), items: [759], want_response: true }, ItemSet { range: Range(768, 790), items: [], want_response: true }], wants: [909, 917, 924, 946, 952, 969, 972, 977, 108, 109, 159, 162, 174, 186, 188, 195, 343, 384, 414, 454, 459, 464, 530, 533, 536, 545, 558, 806, 812, 827, 830, 858, 875, 877, 879, 895], provide: [(933, true), (960, true), (978, true), (991, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(30, 61), items: [31, 37, 46, 52], want_response: false }, ItemSet { range: Range(61, 71), items: [], want_response: false }, ItemSet { range: Range(71, 93), items: [71, 84, 85, 87], want_response: false }, ItemSet { range: Range(119, 134), items: [119, 122], want_response: false }, ItemSet { range: Range(134, 159), items: [147], want_response: false }, ItemSet { range: Range(205, 288), items: [240, 257, 273], want_response: false }, ItemSet { range: Range(288, 333), items: [288, 291, 298], want_response: false }, ItemSet { range: Range(477, 514), items: [499], want_response: false }, ItemSet { range: Range(514, 530), items: [517, 528], want_response: false }, ItemSet { range: Range(615, 686), items: [630, 631, 647, 674], want_response: false }, ItemSet { range: Range(686, 712), items: [686, 696, 702], want_response: false }, ItemSet { range: Range(712, 759), items: [712, 715, 748, 752], want_response: false }, ItemSet { range: Range(759, 768), items: [], want_response: false }, ItemSet { range: Range(768, 790), items: [768, 771, 778], want_response: false }], wants: [93, 104, 114, 161, 163, 179, 191, 198, 333, 359, 410, 449, 469, 470, 569, 612, 808, 819, 826, 829, 863, 868, 881, 887, 898, 30, 36, 61, 126, 134, 205, 264, 289, 477, 491, 514, 615, 635, 701, 738, 754, 759], provide: [(909, true), (917, true), (924, true), (946, true), (952, true), (969, true), (972, true), (977, true), (108, true), (109, true), (159, true), (162, true), (174, true), (186, true), (188, true), (195, true), (343, true), (384, true), (414, true), (454, true), (459, true), (464, true), (530, true), (533, true), (536, true), (545, true), (558, true), (806, true), (812, true), (827, true), (830, true), (858, true), (875, true), (877, true), (879, true), (895, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [31, 37, 46, 52, 71, 84, 85, 87, 119, 147, 240, 257, 273, 288, 291, 298, 499, 517, 528, 630, 631, 647, 674, 686, 696, 702, 712, 715, 748, 752, 768, 771, 778], provide: [(93, true), (104, true), (114, true), (161, true), (163, true), (179, true), (191, true), (198, true), (333, true), (359, true), (410, true), (449, true), (469, true), (470, true), (569, true), (612, true), (808, true), (819, true), (826, true), (829, true), (863, true), (868, true), (881, true), (887, true), (898, true), (30, true), (36, true), (61, true), (126, true), (134, true), (205, true), (264, true), (289, true), (477, true), (491, true), (514, true), (615, true), (635, true), (701, true), (738, true), (754, true), (759, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(31, true), (37, true), (46, true), (52, true), (71, true), (84, true), (85, true), (87, true), (119, true), (147, true), (240, true), (257, true), (273, true), (288, true), (291, true), (298, true), (499, true), (517, true), (528, true), (630, true), (631, true), (647, true), (674, true), (686, true), (696, true), (702, true), (712, true), (715, true), (748, true), (752, true), (768, true), (771, true), (778, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {30, 36, 61, 93, 104, 114, 122, 126, 134, 161, 163, 179, 191, 198, 205, 264, 289, 333, 359, 410, 437, 449, 469, 470, 477, 491, 514, 539, 569, 612, 615, 635, 701, 738, 754, 759, 790, 808, 819, 826, 829, 836, 863, 868, 881, 887, 898, 933, 960, 978, 991} + [3, 4, 12, 24, 909, 917, 924, 946, 952, 969, 972, 977, 108, 109, 159, 162, 174, 186, 188, 195, 343, 384, 414, 454, 459, 464, 530, 533, 536, 545, 558, 806, 812, 827, 830, 858, 875, 877, 879, 895, 31, 37, 46, 52, 71, 84, 85, 87, 119, 147, 240, 257, 273, 288, 291, 298, 499, 517, 528, 630, 631, 647, 674, 686, 696, 702, 712, 715, 748, 752, 768, 771, 778] [INFO] [stdout] b all: {3, 4, 12, 24, 31, 37, 46, 52, 71, 84, 85, 87, 108, 109, 119, 122, 147, 159, 162, 174, 186, 188, 195, 240, 257, 273, 288, 291, 298, 343, 384, 414, 437, 454, 459, 464, 499, 517, 528, 530, 533, 536, 539, 545, 558, 630, 631, 647, 674, 686, 696, 702, 712, 715, 748, 752, 768, 771, 778, 790, 806, 812, 827, 830, 836, 858, 875, 877, 879, 895, 909, 917, 924, 946, 952, 969, 972, 977} + [933, 960, 978, 991, 93, 104, 114, 161, 163, 179, 191, 198, 333, 359, 410, 449, 469, 470, 569, 612, 808, 819, 826, 829, 863, 868, 881, 887, 898, 30, 36, 61, 126, 134, 205, 264, 289, 477, 491, 514, 615, 635, 701, 738, 754, 759] [INFO] [stdout] [INFO] [stdout] all vec: [3, 4, 12, 24, 30, 31, 36, 37, 46, 52, 61, 71, 84, 85, 87, 93, 104, 108, 109, 114, 119, 122, 126, 134, 147, 159, 161, 162, 163, 174, 179, 186, 188, 191, 195, 198, 205, 240, 257, 264, 273, 288, 289, 291, 298, 333, 343, 359, 384, 410, 414, 437, 449, 454, 459, 464, 469, 470, 477, 491, 499, 514, 517, 528, 530, 533, 536, 539, 545, 558, 569, 612, 615, 630, 631, 635, 647, 674, 686, 696, 701, 702, 712, 715, 738, 748, 752, 754, 759, 768, 771, 778, 790, 806, 808, 812, 819, 826, 827, 829, 830, 836, 858, 863, 868, 875, 877, 879, 881, 887, 895, 898, 909, 917, 924, 933, 946, 952, 960, 969, 972, 977, 978, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 4, 12, 24, 30, 31, 36, 37, 46, 52, 61, 71, 84, 85, 87, 93, 104, 108, 109, 114, 119, 122, 126, 134, 147, 159, 161, 162, 163, 174, 179, 186, 188, 191, 195, 198, 205, 240, 257, 264, 273, 288, 289, 291, 298, 333, 343, 359, 384, 410, 414, 437, 449, 454, 459, 464, 469, 470, 477, 491, 499, 514, 517, 528, 530, 533, 536, 539, 545, 558, 569, 612, 615, 630, 631, 635, 647, 674, 686, 696, 701, 702, 712, 715, 738, 748, 752, 754, 759, 768, 771, 778, 790, 806, 808, 812, 819, 826, 827, 829, 830, 836, 858, 863, 868, 875, 877, 879, 881, 887, 895, 898, 909, 917, 924, 933, 946, 952, 960, 969, 972, 977, 978, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 4, 12, 24, 30, 31, 36, 37, 46, 52, 61, 71, 84, 85, 87, 93, 104, 108, 109, 114, 119, 122, 126, 134, 147, 159, 161, 162, 163, 174, 179, 186, 188, 191, 195, 198, 205, 240, 257, 264, 273, 288, 289, 291, 298, 333, 343, 359, 384, 410, 414, 437, 449, 454, 459, 464, 469, 470, 477, 491, 499, 514, 517, 528, 530, 533, 536, 539, 545, 558, 569, 612, 615, 630, 631, 635, 647, 674, 686, 696, 701, 702, 712, 715, 738, 748, 752, 754, 759, 768, 771, 778, 790, 806, 808, 812, 819, 826, 827, 829, 830, 836, 858, 863, 868, 875, 877, 879, 881, 887, 895, 898, 909, 917, 924, 933, 946, 952, 960, 969, 972, 977, 978, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {52, 76, 85, 113, 160, 183, 188, 197, 214, 242, 247, 273, 280, 282, 321, 333, 352, 404, 415, 433, 465, 481, 483, 522, 533, 538, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 784, 788, 804, 836, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969} [INFO] [stdout] b items: {185, 327, 339, 440, 484, 554, 779, 851} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(52, 970), fp: EncodedCountingMonoid(51, SumMonoid(27944)) }], item_sets: [ItemSet { range: Range(970, 52), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 484), fp: EncodedCountingMonoid(4, SumMonoid(1291)) }, Fingerprint { range: Range(484, 970), fp: EncodedCountingMonoid(4, SumMonoid(2668)) }], item_sets: [ItemSet { range: Range(970, 52), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(52, 280), fp: EncodedCountingMonoid(12, SumMonoid(2030)) }, Fingerprint { range: Range(280, 484), fp: EncodedCountingMonoid(11, SumMonoid(4249)) }, Fingerprint { range: Range(484, 788), fp: EncodedCountingMonoid(14, SumMonoid(9220)) }, Fingerprint { range: Range(788, 970), fp: EncodedCountingMonoid(14, SumMonoid(12445)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 280), items: [185], want_response: true }, ItemSet { range: Range(280, 440), items: [327, 339], want_response: true }, ItemSet { range: Range(440, 484), items: [440], want_response: true }, ItemSet { range: Range(484, 779), items: [484, 554], want_response: true }, ItemSet { range: Range(779, 788), items: [779], want_response: true }, ItemSet { range: Range(788, 970), items: [851], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 280), items: [52, 76, 85, 113, 160, 183, 188, 197, 214, 242, 247, 273], want_response: false }, ItemSet { range: Range(280, 440), items: [280, 282, 321, 333, 352, 404, 415, 433], want_response: false }, ItemSet { range: Range(440, 484), items: [465, 481, 483], want_response: false }, ItemSet { range: Range(484, 779), items: [522, 533, 538, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748], want_response: false }, ItemSet { range: Range(779, 788), items: [784], want_response: false }, ItemSet { range: Range(788, 970), items: [788, 804, 836, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969], want_response: false }], wants: [185, 327, 339, 440, 484, 554, 779, 851], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [52, 76, 85, 113, 160, 183, 188, 197, 214, 242, 247, 273, 280, 282, 321, 333, 352, 404, 415, 433, 465, 481, 483, 522, 533, 538, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 784, 788, 804, 836, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969], provide: [(185, true), (327, true), (339, true), (440, true), (484, true), (554, true), (779, true), (851, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(52, true), (76, true), (85, true), (113, true), (160, true), (183, true), (188, true), (197, true), (214, true), (242, true), (247, true), (273, true), (280, true), (282, true), (321, true), (333, true), (352, true), (404, true), (415, true), (433, true), (465, true), (481, true), (483, true), (522, true), (533, true), (538, true), (607, true), (634, true), (662, true), (665, true), (677, true), (678, true), (713, true), (717, true), (742, true), (748, true), (784, true), (788, true), (804, true), (836, true), (854, true), (871, true), (875, true), (883, true), (907, true), (917, true), (923, true), (924, true), (935, true), (959, true), (969, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {52, 76, 85, 113, 160, 183, 188, 197, 214, 242, 247, 273, 280, 282, 321, 333, 352, 404, 415, 433, 465, 481, 483, 522, 533, 538, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 784, 788, 804, 836, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969} + [185, 327, 339, 440, 484, 554, 779, 851] [INFO] [stdout] b all: {185, 327, 339, 440, 484, 554, 779, 851} + [52, 76, 85, 113, 160, 183, 188, 197, 214, 242, 247, 273, 280, 282, 321, 333, 352, 404, 415, 433, 465, 481, 483, 522, 533, 538, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 784, 788, 804, 836, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969] [INFO] [stdout] [INFO] [stdout] all vec: [52, 76, 85, 113, 160, 183, 185, 188, 197, 214, 242, 247, 273, 280, 282, 321, 327, 333, 339, 352, 404, 415, 433, 440, 465, 481, 483, 484, 522, 533, 538, 554, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 779, 784, 788, 804, 836, 851, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969] [INFO] [stdout] [INFO] [stdout] a all vec: [52, 76, 85, 113, 160, 183, 185, 188, 197, 214, 242, 247, 273, 280, 282, 321, 327, 333, 339, 352, 404, 415, 433, 440, 465, 481, 483, 484, 522, 533, 538, 554, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 779, 784, 788, 804, 836, 851, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969], true true [INFO] [stdout] [INFO] [stdout] b all vec: [52, 76, 85, 113, 160, 183, 185, 188, 197, 214, 242, 247, 273, 280, 282, 321, 327, 333, 339, 352, 404, 415, 433, 440, 465, 481, 483, 484, 522, 533, 538, 554, 607, 634, 662, 665, 677, 678, 713, 717, 742, 748, 779, 784, 788, 804, 836, 851, 854, 871, 875, 883, 907, 917, 923, 924, 935, 959, 969], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {25, 44, 69, 73, 78, 91, 158, 176, 231, 246, 249, 254, 257, 260, 265, 276, 291, 297, 310, 349, 383, 393, 401, 402, 421, 433, 479, 503, 523, 559, 566, 578, 582, 602, 613, 637, 639, 651, 659, 666, 734, 763, 774, 782, 801, 805, 808, 892, 893, 909, 939, 943, 978} [INFO] [stdout] b items: {5, 40, 58, 91, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 164, 168, 181, 188, 192, 196, 217, 220, 252, 286, 290, 320, 333, 335, 337, 341, 392, 410, 427, 433, 437, 477, 479, 484, 499, 503, 538, 549, 564, 578, 586, 609, 627, 656, 658, 687, 716, 728, 740, 745, 746, 753, 758, 759, 761, 779, 782, 789, 799, 807, 815, 833, 857, 860, 880, 885, 897, 898, 903, 904, 913, 915, 931, 936, 939, 940, 945, 947, 957, 958, 962, 974, 981, 992, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 979), fp: EncodedCountingMonoid(53, SumMonoid(25710)) }], item_sets: [ItemSet { range: Range(979, 25), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 578), fp: EncodedCountingMonoid(43, SumMonoid(11742)) }, Fingerprint { range: Range(578, 979), fp: EncodedCountingMonoid(43, SumMonoid(35112)) }], item_sets: [ItemSet { range: Range(979, 25), items: [981, 992, 998, 5], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 291), fp: EncodedCountingMonoid(16, SumMonoid(2752)) }, Fingerprint { range: Range(291, 578), fp: EncodedCountingMonoid(15, SumMonoid(6310)) }, Fingerprint { range: Range(578, 774), fp: EncodedCountingMonoid(11, SumMonoid(7124)) }, Fingerprint { range: Range(774, 979), fp: EncodedCountingMonoid(11, SumMonoid(9524)) }], item_sets: [], wants: [981, 992, 998, 5], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 145), fp: EncodedCountingMonoid(13, SumMonoid(1385)) }, Fingerprint { range: Range(145, 291), fp: EncodedCountingMonoid(12, SumMonoid(2499)) }, Fingerprint { range: Range(291, 437), fp: EncodedCountingMonoid(9, SumMonoid(3328)) }, Fingerprint { range: Range(437, 578), fp: EncodedCountingMonoid(9, SumMonoid(4530)) }, Fingerprint { range: Range(578, 728), fp: EncodedCountingMonoid(8, SumMonoid(5117)) }, Fingerprint { range: Range(728, 774), fp: EncodedCountingMonoid(8, SumMonoid(5990)) }, Fingerprint { range: Range(774, 904), fp: EncodedCountingMonoid(14, SumMonoid(11784)) }, Fingerprint { range: Range(904, 979), fp: EncodedCountingMonoid(13, SumMonoid(12221)) }], item_sets: [], wants: [], provide: [(981, true), (992, true), (998, true), (5, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 73), fp: EncodedCountingMonoid(3, SumMonoid(138)) }, Fingerprint { range: Range(73, 145), fp: EncodedCountingMonoid(3, SumMonoid(242)) }, Fingerprint { range: Range(145, 254), fp: EncodedCountingMonoid(5, SumMonoid(1060)) }, Fingerprint { range: Range(254, 291), fp: EncodedCountingMonoid(5, SumMonoid(1312)) }, Fingerprint { range: Range(291, 393), fp: EncodedCountingMonoid(5, SumMonoid(1630)) }, Fingerprint { range: Range(393, 437), fp: EncodedCountingMonoid(5, SumMonoid(2050)) }, Fingerprint { range: Range(437, 559), fp: EncodedCountingMonoid(3, SumMonoid(1505)) }, Fingerprint { range: Range(578, 639), fp: EncodedCountingMonoid(5, SumMonoid(3012)) }, Fingerprint { range: Range(639, 728), fp: EncodedCountingMonoid(4, SumMonoid(2615)) }, Fingerprint { range: Range(774, 808), fp: EncodedCountingMonoid(4, SumMonoid(3162)) }, Fingerprint { range: Range(808, 904), fp: EncodedCountingMonoid(3, SumMonoid(2593)) }], item_sets: [ItemSet { range: Range(559, 578), items: [559, 566], want_response: true }, ItemSet { range: Range(728, 774), items: [734, 763], want_response: true }, ItemSet { range: Range(904, 943), items: [909, 939], want_response: true }, ItemSet { range: Range(943, 979), items: [943, 978], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(73, 117), fp: EncodedCountingMonoid(6, SumMonoid(636)) }, Fingerprint { range: Range(117, 145), fp: EncodedCountingMonoid(5, SumMonoid(651)) }, Fingerprint { range: Range(145, 192), fp: EncodedCountingMonoid(5, SumMonoid(846)) }, Fingerprint { range: Range(192, 254), fp: EncodedCountingMonoid(5, SumMonoid(1077)) }, Fingerprint { range: Range(291, 337), fp: EncodedCountingMonoid(3, SumMonoid(988)) }, Fingerprint { range: Range(337, 393), fp: EncodedCountingMonoid(3, SumMonoid(1070)) }, Fingerprint { range: Range(437, 499), fp: EncodedCountingMonoid(4, SumMonoid(1877)) }, Fingerprint { range: Range(499, 559), fp: EncodedCountingMonoid(4, SumMonoid(2089)) }, Fingerprint { range: Range(774, 799), fp: EncodedCountingMonoid(3, SumMonoid(2350)) }, Fingerprint { range: Range(808, 885), fp: EncodedCountingMonoid(5, SumMonoid(4245)) }, Fingerprint { range: Range(885, 904), fp: EncodedCountingMonoid(4, SumMonoid(3583)) }], item_sets: [ItemSet { range: Range(559, 578), items: [564], want_response: false }, ItemSet { range: Range(728, 774), items: [728, 740, 745, 746, 753, 758, 759, 761], want_response: false }, ItemSet { range: Range(904, 943), items: [904, 913, 915, 931, 936, 939, 940], want_response: false }, ItemSet { range: Range(943, 979), items: [945, 947, 957, 958, 962, 974], want_response: false }, ItemSet { range: Range(25, 73), items: [40, 58], want_response: true }, ItemSet { range: Range(254, 291), items: [286, 290], want_response: true }, ItemSet { range: Range(393, 433), items: [410, 427], want_response: true }, ItemSet { range: Range(433, 437), items: [433], want_response: true }, ItemSet { range: Range(578, 609), items: [578, 586], want_response: true }, ItemSet { range: Range(609, 639), items: [609, 627], want_response: true }, ItemSet { range: Range(639, 687), items: [656, 658], want_response: true }, ItemSet { range: Range(687, 728), items: [687, 716], want_response: true }, ItemSet { range: Range(799, 808), items: [799, 807], want_response: true }], wants: [559, 566, 734, 763, 909, 943, 978], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(25, 73), items: [25, 44, 69], want_response: false }, ItemSet { range: Range(254, 291), items: [254, 257, 260, 265, 276], want_response: false }, ItemSet { range: Range(393, 433), items: [393, 401, 402, 421], want_response: false }, ItemSet { range: Range(433, 437), items: [433], want_response: false }, ItemSet { range: Range(578, 609), items: [578, 582, 602], want_response: false }, ItemSet { range: Range(609, 639), items: [613, 637], want_response: false }, ItemSet { range: Range(639, 687), items: [639, 651, 659, 666], want_response: false }, ItemSet { range: Range(687, 728), items: [], want_response: false }, ItemSet { range: Range(799, 808), items: [801, 805], want_response: false }, ItemSet { range: Range(73, 91), items: [73, 78], want_response: true }, ItemSet { range: Range(91, 117), items: [91], want_response: true }, ItemSet { range: Range(117, 145), items: [], want_response: true }, ItemSet { range: Range(145, 192), items: [158, 176], want_response: true }, ItemSet { range: Range(192, 249), items: [231, 246], want_response: true }, ItemSet { range: Range(249, 254), items: [249], want_response: true }, ItemSet { range: Range(291, 310), items: [291, 297], want_response: true }, ItemSet { range: Range(310, 337), items: [310], want_response: true }, ItemSet { range: Range(337, 393), items: [349, 383], want_response: true }, ItemSet { range: Range(437, 499), items: [479], want_response: true }, ItemSet { range: Range(499, 559), items: [503, 523], want_response: true }, ItemSet { range: Range(774, 799), items: [774, 782], want_response: true }, ItemSet { range: Range(808, 885), items: [808], want_response: true }, ItemSet { range: Range(885, 904), items: [892, 893], want_response: true }], wants: [564, 728, 740, 745, 746, 753, 758, 759, 761, 904, 913, 915, 931, 936, 940, 945, 947, 957, 958, 962, 974, 40, 58, 286, 290, 410, 427, 586, 609, 627, 656, 658, 687, 716, 799, 807], provide: [(559, true), (566, true), (734, true), (763, true), (909, true), (943, true), (978, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(73, 91), items: [], want_response: false }, ItemSet { range: Range(91, 117), items: [91, 95, 109, 112, 114, 115], want_response: false }, ItemSet { range: Range(117, 145), items: [117, 129, 130, 132, 143], want_response: false }, ItemSet { range: Range(145, 192), items: [145, 164, 168, 181, 188], want_response: false }, ItemSet { range: Range(192, 249), items: [192, 196, 217, 220], want_response: false }, ItemSet { range: Range(249, 254), items: [252], want_response: false }, ItemSet { range: Range(291, 310), items: [], want_response: false }, ItemSet { range: Range(310, 337), items: [320, 333, 335], want_response: false }, ItemSet { range: Range(337, 393), items: [337, 341, 392], want_response: false }, ItemSet { range: Range(437, 499), items: [437, 477, 479, 484], want_response: false }, ItemSet { range: Range(499, 559), items: [499, 503, 538, 549], want_response: false }, ItemSet { range: Range(774, 799), items: [779, 782, 789], want_response: false }, ItemSet { range: Range(808, 885), items: [815, 833, 857, 860, 880], want_response: false }, ItemSet { range: Range(885, 904), items: [885, 897, 898, 903], want_response: false }], wants: [25, 44, 69, 254, 257, 260, 265, 276, 393, 401, 402, 421, 582, 602, 613, 637, 639, 651, 659, 666, 801, 805, 73, 78, 158, 176, 231, 246, 249, 291, 297, 310, 349, 383, 523, 774, 808, 892, 893], provide: [(564, true), (728, true), (740, true), (745, true), (746, true), (753, true), (758, true), (759, true), (761, true), (904, true), (913, true), (915, true), (931, true), (936, true), (940, true), (945, true), (947, true), (957, true), (958, true), (962, true), (974, true), (40, true), (58, true), (286, true), (290, true), (410, true), (427, true), (586, true), (609, true), (627, true), (656, true), (658, true), (687, true), (716, true), (799, true), (807, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 164, 168, 181, 188, 192, 196, 217, 220, 252, 320, 333, 335, 337, 341, 392, 437, 477, 484, 499, 538, 549, 779, 789, 815, 833, 857, 860, 880, 885, 897, 898, 903], provide: [(25, true), (44, true), (69, true), (254, true), (257, true), (260, true), (265, true), (276, true), (393, true), (401, true), (402, true), (421, true), (582, true), (602, true), (613, true), (637, true), (639, true), (651, true), (659, true), (666, true), (801, true), (805, true), (73, true), (78, true), (158, true), (176, true), (231, true), (246, true), (249, true), (291, true), (297, true), (310, true), (349, true), (383, true), (523, true), (774, true), (808, true), (892, true), (893, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (109, true), (112, true), (114, true), (115, true), (117, true), (129, true), (130, true), (132, true), (143, true), (145, true), (164, true), (168, true), (181, true), (188, true), (192, true), (196, true), (217, true), (220, true), (252, true), (320, true), (333, true), (335, true), (337, true), (341, true), (392, true), (437, true), (477, true), (484, true), (499, true), (538, true), (549, true), (779, true), (789, true), (815, true), (833, true), (857, true), (860, true), (880, true), (885, true), (897, true), (898, true), (903, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {25, 44, 69, 73, 78, 91, 158, 176, 231, 246, 249, 254, 257, 260, 265, 276, 291, 297, 310, 349, 383, 393, 401, 402, 421, 433, 479, 503, 523, 559, 566, 578, 582, 602, 613, 637, 639, 651, 659, 666, 734, 763, 774, 782, 801, 805, 808, 892, 893, 909, 939, 943, 978} + [981, 992, 998, 5, 564, 728, 740, 745, 746, 753, 758, 759, 761, 904, 913, 915, 931, 936, 940, 945, 947, 957, 958, 962, 974, 40, 58, 286, 290, 410, 427, 586, 609, 627, 656, 658, 687, 716, 799, 807, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 164, 168, 181, 188, 192, 196, 217, 220, 252, 320, 333, 335, 337, 341, 392, 437, 477, 484, 499, 538, 549, 779, 789, 815, 833, 857, 860, 880, 885, 897, 898, 903] [INFO] [stdout] b all: {5, 40, 58, 91, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 164, 168, 181, 188, 192, 196, 217, 220, 252, 286, 290, 320, 333, 335, 337, 341, 392, 410, 427, 433, 437, 477, 479, 484, 499, 503, 538, 549, 564, 578, 586, 609, 627, 656, 658, 687, 716, 728, 740, 745, 746, 753, 758, 759, 761, 779, 782, 789, 799, 807, 815, 833, 857, 860, 880, 885, 897, 898, 903, 904, 913, 915, 931, 936, 939, 940, 945, 947, 957, 958, 962, 974, 981, 992, 998} + [559, 566, 734, 763, 909, 943, 978, 25, 44, 69, 254, 257, 260, 265, 276, 393, 401, 402, 421, 582, 602, 613, 637, 639, 651, 659, 666, 801, 805, 73, 78, 158, 176, 231, 246, 249, 291, 297, 310, 349, 383, 523, 774, 808, 892, 893] [INFO] [stdout] [INFO] [stdout] all vec: [5, 25, 40, 44, 58, 69, 73, 78, 91, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 158, 164, 168, 176, 181, 188, 192, 196, 217, 220, 231, 246, 249, 252, 254, 257, 260, 265, 276, 286, 290, 291, 297, 310, 320, 333, 335, 337, 341, 349, 383, 392, 393, 401, 402, 410, 421, 427, 433, 437, 477, 479, 484, 499, 503, 523, 538, 549, 559, 564, 566, 578, 582, 586, 602, 609, 613, 627, 637, 639, 651, 656, 658, 659, 666, 687, 716, 728, 734, 740, 745, 746, 753, 758, 759, 761, 763, 774, 779, 782, 789, 799, 801, 805, 807, 808, 815, 833, 857, 860, 880, 885, 892, 893, 897, 898, 903, 904, 909, 913, 915, 931, 936, 939, 940, 943, 945, 947, 957, 958, 962, 974, 978, 981, 992, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 25, 40, 44, 58, 69, 73, 78, 91, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 158, 164, 168, 176, 181, 188, 192, 196, 217, 220, 231, 246, 249, 252, 254, 257, 260, 265, 276, 286, 290, 291, 297, 310, 320, 333, 335, 337, 341, 349, 383, 392, 393, 401, 402, 410, 421, 427, 433, 437, 477, 479, 484, 499, 503, 523, 538, 549, 559, 564, 566, 578, 582, 586, 602, 609, 613, 627, 637, 639, 651, 656, 658, 659, 666, 687, 716, 728, 734, 740, 745, 746, 753, 758, 759, 761, 763, 774, 779, 782, 789, 799, 801, 805, 807, 808, 815, 833, 857, 860, 880, 885, 892, 893, 897, 898, 903, 904, 909, 913, 915, 931, 936, 939, 940, 943, 945, 947, 957, 958, 962, 974, 978, 981, 992, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 25, 40, 44, 58, 69, 73, 78, 91, 95, 109, 112, 114, 115, 117, 129, 130, 132, 143, 145, 158, 164, 168, 176, 181, 188, 192, 196, 217, 220, 231, 246, 249, 252, 254, 257, 260, 265, 276, 286, 290, 291, 297, 310, 320, 333, 335, 337, 341, 349, 383, 392, 393, 401, 402, 410, 421, 427, 433, 437, 477, 479, 484, 499, 503, 523, 538, 549, 559, 564, 566, 578, 582, 586, 602, 609, 613, 627, 637, 639, 651, 656, 658, 659, 666, 687, 716, 728, 734, 740, 745, 746, 753, 758, 759, 761, 763, 774, 779, 782, 789, 799, 801, 805, 807, 808, 815, 833, 857, 860, 880, 885, 892, 893, 897, 898, 903, 904, 909, 913, 915, 931, 936, 939, 940, 943, 945, 947, 957, 958, 962, 974, 978, 981, 992, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {491, 817, 845} [INFO] [stdout] b items: {5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 840, 845, 868, 892, 930, 947, 985} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(491, 846), fp: EncodedCountingMonoid(3, SumMonoid(2153)) }], item_sets: [ItemSet { range: Range(846, 491), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(491, 704), fp: EncodedCountingMonoid(10, SumMonoid(6006)) }, Fingerprint { range: Range(704, 846), fp: EncodedCountingMonoid(10, SumMonoid(7742)) }], item_sets: [ItemSet { range: Range(846, 491), items: [868, 892, 930, 947, 985, 5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(491, 704), items: [491], want_response: true }, ItemSet { range: Range(704, 846), items: [817, 845], want_response: true }], wants: [868, 892, 930, 947, 985, 5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(491, 704), items: [500, 501, 554, 567, 585, 598, 645, 673, 682, 701], want_response: false }, ItemSet { range: Range(704, 846), items: [704, 736, 738, 741, 758, 776, 793, 811, 840, 845], want_response: false }], wants: [491, 817], provide: [(868, true), (892, true), (930, true), (947, true), (985, true), (5, true), (7, true), (31, true), (33, true), (48, true), (81, true), (98, true), (126, true), (151, true), (152, true), (182, true), (206, true), (223, true), (225, true), (264, true), (267, true), (274, true), (289, true), (340, true), (343, true), (369, true), (403, true), (423, true), (427, true), (436, true), (472, true), (476, true), (490, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 840], provide: [(491, true), (817, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(500, true), (501, true), (554, true), (567, true), (585, true), (598, true), (645, true), (673, true), (682, true), (701, true), (704, true), (736, true), (738, true), (741, true), (758, true), (776, true), (793, true), (811, true), (840, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {491, 817, 845} + [868, 892, 930, 947, 985, 5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 840] [INFO] [stdout] b all: {5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 840, 845, 868, 892, 930, 947, 985} + [491, 817] [INFO] [stdout] [INFO] [stdout] all vec: [5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 491, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 817, 840, 845, 868, 892, 930, 947, 985] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 491, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 817, 840, 845, 868, 892, 930, 947, 985], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 7, 31, 33, 48, 81, 98, 126, 151, 152, 182, 206, 223, 225, 264, 267, 274, 289, 340, 343, 369, 403, 423, 427, 436, 472, 476, 490, 491, 500, 501, 554, 567, 585, 598, 645, 673, 682, 701, 704, 736, 738, 741, 758, 776, 793, 811, 817, 840, 845, 868, 892, 930, 947, 985], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {245, 324, 757} [INFO] [stdout] b items: {1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 248, 252, 258, 260, 269, 311, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753, 768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(245, 758), fp: EncodedCountingMonoid(3, SumMonoid(1326)) }], item_sets: [ItemSet { range: Range(758, 245), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(245, 487), fp: EncodedCountingMonoid(27, SumMonoid(10436)) }, Fingerprint { range: Range(487, 758), fp: EncodedCountingMonoid(26, SumMonoid(16636)) }], item_sets: [ItemSet { range: Range(758, 245), items: [768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980, 1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(245, 487), items: [245, 324], want_response: true }, ItemSet { range: Range(487, 758), items: [757], want_response: true }], wants: [768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980, 1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(245, 487), items: [248, 252, 258, 260, 269, 311, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483], want_response: false }, ItemSet { range: Range(487, 758), items: [487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753], want_response: false }], wants: [245, 324, 757], provide: [(768, true), (774, true), (788, true), (791, true), (805, true), (831, true), (845, true), (856, true), (862, true), (887, true), (931, true), (937, true), (965, true), (980, true), (1, true), (8, true), (19, true), (31, true), (63, true), (78, true), (109, true), (128, true), (142, true), (160, true), (162, true), (167, true), (192, true), (215, true), (226, true), (231, true), (235, true), (237, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [248, 252, 258, 260, 269, 311, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753], provide: [(245, true), (324, true), (757, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(248, true), (252, true), (258, true), (260, true), (269, true), (311, true), (335, true), (340, true), (381, true), (393, true), (395, true), (398, true), (401, true), (406, true), (408, true), (419, true), (420, true), (427, true), (434, true), (436, true), (441, true), (449, true), (456, true), (464, true), (474, true), (478, true), (483, true), (487, true), (489, true), (523, true), (530, true), (561, true), (573, true), (577, true), (604, true), (611, true), (616, true), (623, true), (632, true), (642, true), (650, true), (667, true), (671, true), (678, true), (693, true), (698, true), (711, true), (716, true), (718, true), (734, true), (739, true), (740, true), (753, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {245, 324, 757} + [768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980, 1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 248, 252, 258, 260, 269, 311, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753] [INFO] [stdout] b all: {1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 248, 252, 258, 260, 269, 311, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753, 768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980} + [245, 324, 757] [INFO] [stdout] [INFO] [stdout] all vec: [1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 245, 248, 252, 258, 260, 269, 311, 324, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753, 757, 768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 245, 248, 252, 258, 260, 269, 311, 324, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753, 757, 768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 8, 19, 31, 63, 78, 109, 128, 142, 160, 162, 167, 192, 215, 226, 231, 235, 237, 245, 248, 252, 258, 260, 269, 311, 324, 335, 340, 381, 393, 395, 398, 401, 406, 408, 419, 420, 427, 434, 436, 441, 449, 456, 464, 474, 478, 483, 487, 489, 523, 530, 561, 573, 577, 604, 611, 616, 623, 632, 642, 650, 667, 671, 678, 693, 698, 711, 716, 718, 734, 739, 740, 753, 757, 768, 774, 788, 791, 805, 831, 845, 856, 862, 887, 931, 937, 965, 980], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 14, 95, 104, 117, 119, 137, 219, 221, 238, 254, 272, 302, 320, 345, 346, 356, 358, 368, 377, 378, 387, 404, 419, 422, 449, 459, 477, 492, 502, 504, 529, 538, 550, 577, 603, 606, 616, 623, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 716, 731, 743, 763, 770, 815, 831, 852, 862, 868, 895, 909, 943, 955, 972, 973, 995} [INFO] [stdout] b items: {44, 59, 84, 90, 137, 160, 174, 217, 237, 247, 266, 328, 334, 384, 386, 406, 433, 447, 475, 485, 592, 599, 605, 626, 705, 728, 771, 900, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 996), fp: EncodedCountingMonoid(66, SumMonoid(35312)) }], item_sets: [ItemSet { range: Range(996, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 406), fp: EncodedCountingMonoid(15, SumMonoid(3147)) }, Fingerprint { range: Range(406, 996), fp: EncodedCountingMonoid(14, SumMonoid(8762)) }], item_sets: [ItemSet { range: Range(996, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 302), fp: EncodedCountingMonoid(12, SumMonoid(1791)) }, Fingerprint { range: Range(302, 406), fp: EncodedCountingMonoid(11, SumMonoid(3941)) }, Fingerprint { range: Range(406, 662), fp: EncodedCountingMonoid(22, SumMonoid(12247)) }, Fingerprint { range: Range(662, 996), fp: EncodedCountingMonoid(21, SumMonoid(17333)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 174), fp: EncodedCountingMonoid(6, SumMonoid(574)) }, Fingerprint { range: Range(174, 302), fp: EncodedCountingMonoid(5, SumMonoid(1141)) }, Fingerprint { range: Range(406, 592), fp: EncodedCountingMonoid(5, SumMonoid(2246)) }, Fingerprint { range: Range(592, 662), fp: EncodedCountingMonoid(4, SumMonoid(2422)) }, Fingerprint { range: Range(662, 900), fp: EncodedCountingMonoid(3, SumMonoid(2204)) }], item_sets: [ItemSet { range: Range(302, 384), items: [328, 334], want_response: true }, ItemSet { range: Range(384, 406), items: [384, 386], want_response: true }, ItemSet { range: Range(900, 996), items: [900, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 117), fp: EncodedCountingMonoid(4, SumMonoid(214)) }, Fingerprint { range: Range(117, 174), fp: EncodedCountingMonoid(3, SumMonoid(373)) }, Fingerprint { range: Range(174, 254), fp: EncodedCountingMonoid(3, SumMonoid(678)) }, Fingerprint { range: Range(406, 502), fp: EncodedCountingMonoid(6, SumMonoid(2718)) }, Fingerprint { range: Range(502, 592), fp: EncodedCountingMonoid(6, SumMonoid(3200)) }, Fingerprint { range: Range(592, 643), fp: EncodedCountingMonoid(5, SumMonoid(3082)) }, Fingerprint { range: Range(643, 662), fp: EncodedCountingMonoid(5, SumMonoid(3247)) }, Fingerprint { range: Range(662, 770), fp: EncodedCountingMonoid(8, SumMonoid(5693)) }, Fingerprint { range: Range(770, 900), fp: EncodedCountingMonoid(7, SumMonoid(5893)) }], item_sets: [ItemSet { range: Range(302, 384), items: [302, 320, 345, 346, 356, 358, 368, 377, 378], want_response: false }, ItemSet { range: Range(384, 406), items: [387, 404], want_response: false }, ItemSet { range: Range(900, 996), items: [909, 943, 955, 972, 973, 995], want_response: false }, ItemSet { range: Range(254, 302), items: [254, 272], want_response: true }], wants: [328, 334, 384, 386, 900, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(406, 475), fp: EncodedCountingMonoid(3, SumMonoid(1286)) }], item_sets: [ItemSet { range: Range(254, 302), items: [266], want_response: false }, ItemSet { range: Range(1, 84), items: [44, 59], want_response: true }, ItemSet { range: Range(84, 117), items: [84, 90], want_response: true }, ItemSet { range: Range(117, 174), items: [137, 160], want_response: true }, ItemSet { range: Range(174, 237), items: [174, 217], want_response: true }, ItemSet { range: Range(237, 254), items: [237, 247], want_response: true }, ItemSet { range: Range(475, 502), items: [475, 485], want_response: true }, ItemSet { range: Range(502, 592), items: [], want_response: true }, ItemSet { range: Range(592, 605), items: [592, 599], want_response: true }, ItemSet { range: Range(605, 643), items: [605, 626], want_response: true }, ItemSet { range: Range(643, 662), items: [], want_response: true }, ItemSet { range: Range(662, 770), items: [705, 728], want_response: true }, ItemSet { range: Range(770, 900), items: [771], want_response: true }], wants: [302, 320, 345, 346, 356, 358, 368, 377, 378, 387, 404, 909, 943, 955, 972, 973, 995, 254, 272], provide: [(328, true), (334, true), (384, true), (386, true), (900, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 84), items: [1, 14], want_response: false }, ItemSet { range: Range(84, 117), items: [95, 104], want_response: false }, ItemSet { range: Range(117, 174), items: [117, 119, 137], want_response: false }, ItemSet { range: Range(174, 237), items: [219, 221], want_response: false }, ItemSet { range: Range(237, 254), items: [238], want_response: false }, ItemSet { range: Range(475, 502), items: [477, 492], want_response: false }, ItemSet { range: Range(502, 592), items: [502, 504, 529, 538, 550, 577], want_response: false }, ItemSet { range: Range(592, 605), items: [603], want_response: false }, ItemSet { range: Range(605, 643), items: [606, 616, 623, 634], want_response: false }, ItemSet { range: Range(643, 662), items: [643, 644, 648, 651, 661], want_response: false }, ItemSet { range: Range(662, 770), items: [662, 689, 691, 698, 716, 731, 743, 763], want_response: false }, ItemSet { range: Range(770, 900), items: [770, 815, 831, 852, 862, 868, 895], want_response: false }, ItemSet { range: Range(406, 449), items: [419, 422], want_response: true }, ItemSet { range: Range(449, 475), items: [449, 459], want_response: true }], wants: [266, 44, 59, 84, 90, 160, 174, 217, 237, 247, 475, 485, 592, 599, 605, 626, 705, 728, 771], provide: [(302, true), (320, true), (345, true), (346, true), (356, true), (358, true), (368, true), (377, true), (378, true), (387, true), (404, true), (909, true), (943, true), (955, true), (972, true), (973, true), (995, true), (254, true), (272, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(406, 449), items: [406, 433, 447], want_response: false }, ItemSet { range: Range(449, 475), items: [], want_response: false }], wants: [1, 14, 95, 104, 117, 119, 219, 221, 238, 477, 492, 502, 504, 529, 538, 550, 577, 603, 606, 616, 623, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 716, 731, 743, 763, 770, 815, 831, 852, 862, 868, 895, 419, 422, 449, 459], provide: [(266, true), (44, true), (59, true), (84, true), (90, true), (160, true), (174, true), (217, true), (237, true), (247, true), (475, true), (485, true), (592, true), (599, true), (605, true), (626, true), (705, true), (728, true), (771, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [406, 433, 447], provide: [(1, true), (14, true), (95, true), (104, true), (117, true), (119, true), (219, true), (221, true), (238, true), (477, true), (492, true), (502, true), (504, true), (529, true), (538, true), (550, true), (577, true), (603, true), (606, true), (616, true), (623, true), (634, true), (643, true), (644, true), (648, true), (651, true), (661, true), (662, true), (689, true), (691, true), (698, true), (716, true), (731, true), (743, true), (763, true), (770, true), (815, true), (831, true), (852, true), (862, true), (868, true), (895, true), (419, true), (422, true), (449, true), (459, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(406, true), (433, true), (447, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 14, 95, 104, 117, 119, 137, 219, 221, 238, 254, 272, 302, 320, 345, 346, 356, 358, 368, 377, 378, 387, 404, 419, 422, 449, 459, 477, 492, 502, 504, 529, 538, 550, 577, 603, 606, 616, 623, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 716, 731, 743, 763, 770, 815, 831, 852, 862, 868, 895, 909, 943, 955, 972, 973, 995} + [328, 334, 384, 386, 900, 990, 266, 44, 59, 84, 90, 160, 174, 217, 237, 247, 475, 485, 592, 599, 605, 626, 705, 728, 771, 406, 433, 447] [INFO] [stdout] b all: {44, 59, 84, 90, 137, 160, 174, 217, 237, 247, 266, 328, 334, 384, 386, 406, 433, 447, 475, 485, 592, 599, 605, 626, 705, 728, 771, 900, 990} + [302, 320, 345, 346, 356, 358, 368, 377, 378, 387, 404, 909, 943, 955, 972, 973, 995, 254, 272, 1, 14, 95, 104, 117, 119, 219, 221, 238, 477, 492, 502, 504, 529, 538, 550, 577, 603, 606, 616, 623, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 716, 731, 743, 763, 770, 815, 831, 852, 862, 868, 895, 419, 422, 449, 459] [INFO] [stdout] [INFO] [stdout] all vec: [1, 14, 44, 59, 84, 90, 95, 104, 117, 119, 137, 160, 174, 217, 219, 221, 237, 238, 247, 254, 266, 272, 302, 320, 328, 334, 345, 346, 356, 358, 368, 377, 378, 384, 386, 387, 404, 406, 419, 422, 433, 447, 449, 459, 475, 477, 485, 492, 502, 504, 529, 538, 550, 577, 592, 599, 603, 605, 606, 616, 623, 626, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 705, 716, 728, 731, 743, 763, 770, 771, 815, 831, 852, 862, 868, 895, 900, 909, 943, 955, 972, 973, 990, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 14, 44, 59, 84, 90, 95, 104, 117, 119, 137, 160, 174, 217, 219, 221, 237, 238, 247, 254, 266, 272, 302, 320, 328, 334, 345, 346, 356, 358, 368, 377, 378, 384, 386, 387, 404, 406, 419, 422, 433, 447, 449, 459, 475, 477, 485, 492, 502, 504, 529, 538, 550, 577, 592, 599, 603, 605, 606, 616, 623, 626, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 705, 716, 728, 731, 743, 763, 770, 771, 815, 831, 852, 862, 868, 895, 900, 909, 943, 955, 972, 973, 990, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 14, 44, 59, 84, 90, 95, 104, 117, 119, 137, 160, 174, 217, 219, 221, 237, 238, 247, 254, 266, 272, 302, 320, 328, 334, 345, 346, 356, 358, 368, 377, 378, 384, 386, 387, 404, 406, 419, 422, 433, 447, 449, 459, 475, 477, 485, 492, 502, 504, 529, 538, 550, 577, 592, 599, 603, 605, 606, 616, 623, 626, 634, 643, 644, 648, 651, 661, 662, 689, 691, 698, 705, 716, 728, 731, 743, 763, 770, 771, 815, 831, 852, 862, 868, 895, 900, 909, 943, 955, 972, 973, 990, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {19, 21, 57, 75, 100, 103, 161, 191, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 647, 665, 698, 746, 764, 771, 827, 854, 888, 940} [INFO] [stdout] b items: {9, 33, 64, 199, 557, 594, 737, 808, 909, 917} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(19, 941), fp: EncodedCountingMonoid(36, SumMonoid(14495)) }], item_sets: [ItemSet { range: Range(941, 19), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(19, 737), fp: EncodedCountingMonoid(5, SumMonoid(1447)) }, Fingerprint { range: Range(737, 941), fp: EncodedCountingMonoid(4, SumMonoid(3371)) }], item_sets: [ItemSet { range: Range(941, 19), items: [9], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(19, 310), fp: EncodedCountingMonoid(15, SumMonoid(2486)) }, Fingerprint { range: Range(310, 737), fp: EncodedCountingMonoid(14, SumMonoid(6219)) }, Fingerprint { range: Range(737, 854), fp: EncodedCountingMonoid(4, SumMonoid(3108)) }, Fingerprint { range: Range(854, 941), fp: EncodedCountingMonoid(3, SumMonoid(2682)) }], item_sets: [], wants: [9], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(19, 199), items: [33, 64], want_response: true }, ItemSet { range: Range(199, 310), items: [199], want_response: true }, ItemSet { range: Range(310, 737), items: [557, 594], want_response: true }, ItemSet { range: Range(737, 854), items: [737, 808], want_response: true }, ItemSet { range: Range(854, 941), items: [909, 917], want_response: true }], wants: [], provide: [(9, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(19, 199), items: [19, 21, 57, 75, 100, 103, 161, 191], want_response: false }, ItemSet { range: Range(199, 310), items: [207, 229, 240, 252, 264, 283, 284], want_response: false }, ItemSet { range: Range(310, 737), items: [310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 647, 665, 698], want_response: false }, ItemSet { range: Range(737, 854), items: [746, 764, 771, 827], want_response: false }, ItemSet { range: Range(854, 941), items: [854, 888, 940], want_response: false }], wants: [33, 64, 199, 557, 594, 737, 808, 909, 917], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [19, 21, 57, 75, 100, 103, 161, 191, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 647, 665, 698, 746, 764, 771, 827, 854, 888, 940], provide: [(33, true), (64, true), (199, true), (557, true), (594, true), (737, true), (808, true), (909, true), (917, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(19, true), (21, true), (57, true), (75, true), (100, true), (103, true), (161, true), (191, true), (207, true), (229, true), (240, true), (252, true), (264, true), (283, true), (284, true), (310, true), (317, true), (334, true), (350, true), (354, true), (377, true), (386, true), (387, true), (431, true), (476, true), (487, true), (647, true), (665, true), (698, true), (746, true), (764, true), (771, true), (827, true), (854, true), (888, true), (940, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {19, 21, 57, 75, 100, 103, 161, 191, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 647, 665, 698, 746, 764, 771, 827, 854, 888, 940} + [9, 33, 64, 199, 557, 594, 737, 808, 909, 917] [INFO] [stdout] b all: {9, 33, 64, 199, 557, 594, 737, 808, 909, 917} + [19, 21, 57, 75, 100, 103, 161, 191, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 647, 665, 698, 746, 764, 771, 827, 854, 888, 940] [INFO] [stdout] [INFO] [stdout] all vec: [9, 19, 21, 33, 57, 64, 75, 100, 103, 161, 191, 199, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 557, 594, 647, 665, 698, 737, 746, 764, 771, 808, 827, 854, 888, 909, 917, 940] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 19, 21, 33, 57, 64, 75, 100, 103, 161, 191, 199, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 557, 594, 647, 665, 698, 737, 746, 764, 771, 808, 827, 854, 888, 909, 917, 940], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 19, 21, 33, 57, 64, 75, 100, 103, 161, 191, 199, 207, 229, 240, 252, 264, 283, 284, 310, 317, 334, 350, 354, 377, 386, 387, 431, 476, 487, 557, 594, 647, 665, 698, 737, 746, 764, 771, 808, 827, 854, 888, 909, 917, 940], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {327, 392, 405, 451, 753, 837, 840} [INFO] [stdout] b items: {15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 341, 389, 391, 416, 433, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694, 844, 849, 858, 894, 922, 926, 970, 979} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(327, 841), fp: EncodedCountingMonoid(7, SumMonoid(4005)) }], item_sets: [ItemSet { range: Range(841, 327), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(327, 539), fp: EncodedCountingMonoid(10, SumMonoid(4398)) }, Fingerprint { range: Range(539, 841), fp: EncodedCountingMonoid(10, SumMonoid(6039)) }], item_sets: [ItemSet { range: Range(841, 327), items: [844, 849, 858, 894, 922, 926, 970, 979, 15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(327, 405), items: [327, 392], want_response: true }, ItemSet { range: Range(405, 539), items: [405, 451], want_response: true }, ItemSet { range: Range(539, 840), items: [753, 837], want_response: true }, ItemSet { range: Range(840, 841), items: [840], want_response: true }], wants: [844, 849, 858, 894, 922, 926, 970, 979, 15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(327, 405), items: [341, 389, 391], want_response: false }, ItemSet { range: Range(405, 539), items: [416, 433, 455, 456, 487, 506, 524], want_response: false }, ItemSet { range: Range(539, 840), items: [539, 554, 571, 580, 588, 589, 636, 641, 647, 694], want_response: false }, ItemSet { range: Range(840, 841), items: [], want_response: false }], wants: [327, 392, 405, 451, 753, 837, 840], provide: [(844, true), (849, true), (858, true), (894, true), (922, true), (926, true), (970, true), (979, true), (15, true), (20, true), (32, true), (70, true), (79, true), (100, true), (140, true), (146, true), (154, true), (163, true), (191, true), (195, true), (230, true), (249, true), (263, true), (269, true), (294, true), (312, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [341, 389, 391, 416, 433, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694], provide: [(327, true), (392, true), (405, true), (451, true), (753, true), (837, true), (840, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(341, true), (389, true), (391, true), (416, true), (433, true), (455, true), (456, true), (487, true), (506, true), (524, true), (539, true), (554, true), (571, true), (580, true), (588, true), (589, true), (636, true), (641, true), (647, true), (694, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {327, 392, 405, 451, 753, 837, 840} + [844, 849, 858, 894, 922, 926, 970, 979, 15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 341, 389, 391, 416, 433, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694] [INFO] [stdout] b all: {15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 341, 389, 391, 416, 433, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694, 844, 849, 858, 894, 922, 926, 970, 979} + [327, 392, 405, 451, 753, 837, 840] [INFO] [stdout] [INFO] [stdout] all vec: [15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 327, 341, 389, 391, 392, 405, 416, 433, 451, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694, 753, 837, 840, 844, 849, 858, 894, 922, 926, 970, 979] [INFO] [stdout] [INFO] [stdout] a all vec: [15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 327, 341, 389, 391, 392, 405, 416, 433, 451, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694, 753, 837, 840, 844, 849, 858, 894, 922, 926, 970, 979], true true [INFO] [stdout] [INFO] [stdout] b all vec: [15, 20, 32, 70, 79, 100, 140, 146, 154, 163, 191, 195, 230, 249, 263, 269, 294, 312, 327, 341, 389, 391, 392, 405, 416, 433, 451, 455, 456, 487, 506, 524, 539, 554, 571, 580, 588, 589, 636, 641, 647, 694, 753, 837, 840, 844, 849, 858, 894, 922, 926, 970, 979], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {129, 146, 496, 635, 953} [INFO] [stdout] b items: {29, 33, 35, 37, 69, 79, 97, 121, 143, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 505, 514, 552, 624, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940, 964, 966, 967, 969, 975, 983} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(129, 954), fp: EncodedCountingMonoid(5, SumMonoid(2359)) }], item_sets: [ItemSet { range: Range(954, 129), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(129, 453), fp: EncodedCountingMonoid(23, SumMonoid(6890)) }, Fingerprint { range: Range(453, 954), fp: EncodedCountingMonoid(23, SumMonoid(16398)) }], item_sets: [ItemSet { range: Range(954, 129), items: [964, 966, 967, 969, 975, 983, 29, 33, 35, 37, 69, 79, 97, 121], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(129, 453), items: [129, 146], want_response: true }, ItemSet { range: Range(453, 953), items: [496, 635], want_response: true }, ItemSet { range: Range(953, 954), items: [953], want_response: true }], wants: [964, 966, 967, 969, 975, 983, 29, 33, 35, 37, 69, 79, 97, 121], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(129, 453), items: [143, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438], want_response: false }, ItemSet { range: Range(453, 953), items: [453, 464, 488, 505, 514, 552, 624, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940], want_response: false }, ItemSet { range: Range(953, 954), items: [], want_response: false }], wants: [129, 146, 496, 635, 953], provide: [(964, true), (966, true), (967, true), (969, true), (975, true), (983, true), (29, true), (33, true), (35, true), (37, true), (69, true), (79, true), (97, true), (121, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [143, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 505, 514, 552, 624, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940], provide: [(129, true), (146, true), (496, true), (635, true), (953, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(143, true), (149, true), (165, true), (169, true), (179, true), (182, true), (195, true), (213, true), (286, true), (296, true), (305, true), (321, true), (324, true), (328, true), (338, true), (398, true), (399, true), (403, true), (404, true), (405, true), (421, true), (429, true), (438, true), (453, true), (464, true), (488, true), (505, true), (514, true), (552, true), (624, true), (650, true), (659, true), (705, true), (713, true), (726, true), (771, true), (773, true), (779, true), (784, true), (856, true), (877, true), (888, true), (890, true), (892, true), (895, true), (940, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {129, 146, 496, 635, 953} + [964, 966, 967, 969, 975, 983, 29, 33, 35, 37, 69, 79, 97, 121, 143, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 505, 514, 552, 624, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940] [INFO] [stdout] b all: {29, 33, 35, 37, 69, 79, 97, 121, 143, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 505, 514, 552, 624, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940, 964, 966, 967, 969, 975, 983} + [129, 146, 496, 635, 953] [INFO] [stdout] [INFO] [stdout] all vec: [29, 33, 35, 37, 69, 79, 97, 121, 129, 143, 146, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 496, 505, 514, 552, 624, 635, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940, 953, 964, 966, 967, 969, 975, 983] [INFO] [stdout] [INFO] [stdout] a all vec: [29, 33, 35, 37, 69, 79, 97, 121, 129, 143, 146, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 496, 505, 514, 552, 624, 635, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940, 953, 964, 966, 967, 969, 975, 983], true true [INFO] [stdout] [INFO] [stdout] b all vec: [29, 33, 35, 37, 69, 79, 97, 121, 129, 143, 146, 149, 165, 169, 179, 182, 195, 213, 286, 296, 305, 321, 324, 328, 338, 398, 399, 403, 404, 405, 421, 429, 438, 453, 464, 488, 496, 505, 514, 552, 624, 635, 650, 659, 705, 713, 726, 771, 773, 779, 784, 856, 877, 888, 890, 892, 895, 940, 953, 964, 966, 967, 969, 975, 983], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 74, 117, 153, 158, 174, 181, 358, 389, 468, 476, 480, 483, 518, 594, 608, 634, 635, 647, 651, 727, 732, 812, 817, 925, 946, 962} [INFO] [stdout] b items: {19, 21, 66, 68, 69, 70, 105, 106, 116, 148, 150, 158, 171, 173, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 394, 402, 412, 419, 435, 445, 472, 482, 483, 490, 508, 512, 523, 524, 547, 571, 599, 608, 644, 647, 673, 674, 685, 691, 700, 706, 746, 748, 758, 761, 801, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 954, 955, 960, 984} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 963), fp: EncodedCountingMonoid(27, SumMonoid(13767)) }], item_sets: [ItemSet { range: Range(963, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 523), fp: EncodedCountingMonoid(34, SumMonoid(9516)) }, Fingerprint { range: Range(523, 963), fp: EncodedCountingMonoid(33, SumMonoid(25017)) }], item_sets: [ItemSet { range: Range(963, 48), items: [984, 19, 21], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 358), fp: EncodedCountingMonoid(7, SumMonoid(905)) }, Fingerprint { range: Range(358, 523), fp: EncodedCountingMonoid(7, SumMonoid(3172)) }, Fingerprint { range: Range(523, 732), fp: EncodedCountingMonoid(7, SumMonoid(4496)) }, Fingerprint { range: Range(732, 963), fp: EncodedCountingMonoid(6, SumMonoid(5194)) }], item_sets: [], wants: [984, 19, 21], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 173), fp: EncodedCountingMonoid(11, SumMonoid(1227)) }, Fingerprint { range: Range(173, 358), fp: EncodedCountingMonoid(11, SumMonoid(2835)) }, Fingerprint { range: Range(358, 472), fp: EncodedCountingMonoid(6, SumMonoid(2507)) }, Fingerprint { range: Range(472, 523), fp: EncodedCountingMonoid(6, SumMonoid(2947)) }, Fingerprint { range: Range(523, 647), fp: EncodedCountingMonoid(7, SumMonoid(4016)) }, Fingerprint { range: Range(647, 732), fp: EncodedCountingMonoid(7, SumMonoid(4776)) }, Fingerprint { range: Range(732, 867), fp: EncodedCountingMonoid(10, SumMonoid(8025)) }, Fingerprint { range: Range(867, 963), fp: EncodedCountingMonoid(9, SumMonoid(8200)) }], item_sets: [], wants: [], provide: [(984, true), (19, true), (21, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 153), fp: EncodedCountingMonoid(3, SumMonoid(239)) }], item_sets: [ItemSet { range: Range(153, 173), items: [153, 158], want_response: true }, ItemSet { range: Range(173, 358), items: [174, 181], want_response: true }, ItemSet { range: Range(358, 468), items: [358, 389], want_response: true }, ItemSet { range: Range(468, 472), items: [468], want_response: true }, ItemSet { range: Range(472, 483), items: [476, 480], want_response: true }, ItemSet { range: Range(483, 523), items: [483, 518], want_response: true }, ItemSet { range: Range(523, 634), items: [594, 608], want_response: true }, ItemSet { range: Range(634, 647), items: [634, 635], want_response: true }, ItemSet { range: Range(647, 727), items: [647, 651], want_response: true }, ItemSet { range: Range(727, 732), items: [727], want_response: true }, ItemSet { range: Range(732, 817), items: [732, 812], want_response: true }, ItemSet { range: Range(817, 867), items: [817], want_response: true }, ItemSet { range: Range(867, 962), items: [925, 946], want_response: true }, ItemSet { range: Range(962, 963), items: [962], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 106), fp: EncodedCountingMonoid(5, SumMonoid(378)) }, Fingerprint { range: Range(106, 153), fp: EncodedCountingMonoid(4, SumMonoid(520)) }], item_sets: [ItemSet { range: Range(153, 173), items: [158, 171], want_response: false }, ItemSet { range: Range(173, 358), items: [173, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355], want_response: false }, ItemSet { range: Range(358, 468), items: [394, 402, 412, 419, 435, 445], want_response: false }, ItemSet { range: Range(468, 472), items: [], want_response: false }, ItemSet { range: Range(472, 483), items: [472, 482], want_response: false }, ItemSet { range: Range(483, 523), items: [483, 490, 508, 512], want_response: false }, ItemSet { range: Range(523, 634), items: [523, 524, 547, 571, 599, 608], want_response: false }, ItemSet { range: Range(634, 647), items: [644], want_response: false }, ItemSet { range: Range(647, 727), items: [647, 673, 674, 685, 691, 700, 706], want_response: false }, ItemSet { range: Range(727, 732), items: [], want_response: false }, ItemSet { range: Range(732, 817), items: [746, 748, 758, 761, 801], want_response: false }, ItemSet { range: Range(817, 867), items: [833, 834, 841, 847, 856], want_response: false }, ItemSet { range: Range(867, 962), items: [867, 874, 884, 898, 901, 907, 954, 955, 960], want_response: false }, ItemSet { range: Range(962, 963), items: [], want_response: false }], wants: [153, 174, 181, 358, 389, 468, 476, 480, 518, 594, 634, 635, 651, 727, 732, 812, 817, 925, 946, 962], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(48, 106), items: [48, 74], want_response: true }, ItemSet { range: Range(106, 153), items: [117], want_response: true }], wants: [171, 173, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 394, 402, 412, 419, 435, 445, 472, 482, 490, 508, 512, 523, 524, 547, 571, 599, 644, 673, 674, 685, 691, 700, 706, 746, 748, 758, 761, 801, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 954, 955, 960], provide: [(153, true), (174, true), (181, true), (358, true), (389, true), (468, true), (476, true), (480, true), (518, true), (594, true), (634, true), (635, true), (651, true), (727, true), (732, true), (812, true), (817, true), (925, true), (946, true), (962, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(48, 106), items: [66, 68, 69, 70, 105], want_response: false }, ItemSet { range: Range(106, 153), items: [106, 116, 148, 150], want_response: false }], wants: [48, 74, 117], provide: [(171, true), (173, true), (188, true), (204, true), (205, true), (211, true), (268, true), (292, true), (295, true), (313, true), (331, true), (355, true), (394, true), (402, true), (412, true), (419, true), (435, true), (445, true), (472, true), (482, true), (490, true), (508, true), (512, true), (523, true), (524, true), (547, true), (571, true), (599, true), (644, true), (673, true), (674, true), (685, true), (691, true), (700, true), (706, true), (746, true), (748, true), (758, true), (761, true), (801, true), (833, true), (834, true), (841, true), (847, true), (856, true), (867, true), (874, true), (884, true), (898, true), (901, true), (907, true), (954, true), (955, true), (960, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [66, 68, 69, 70, 105, 106, 116, 148, 150], provide: [(48, true), (74, true), (117, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(66, true), (68, true), (69, true), (70, true), (105, true), (106, true), (116, true), (148, true), (150, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 74, 117, 153, 158, 174, 181, 358, 389, 468, 476, 480, 483, 518, 594, 608, 634, 635, 647, 651, 727, 732, 812, 817, 925, 946, 962} + [984, 19, 21, 171, 173, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 394, 402, 412, 419, 435, 445, 472, 482, 490, 508, 512, 523, 524, 547, 571, 599, 644, 673, 674, 685, 691, 700, 706, 746, 748, 758, 761, 801, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 954, 955, 960, 66, 68, 69, 70, 105, 106, 116, 148, 150] [INFO] [stdout] b all: {19, 21, 66, 68, 69, 70, 105, 106, 116, 148, 150, 158, 171, 173, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 394, 402, 412, 419, 435, 445, 472, 482, 483, 490, 508, 512, 523, 524, 547, 571, 599, 608, 644, 647, 673, 674, 685, 691, 700, 706, 746, 748, 758, 761, 801, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 954, 955, 960, 984} + [153, 174, 181, 358, 389, 468, 476, 480, 518, 594, 634, 635, 651, 727, 732, 812, 817, 925, 946, 962, 48, 74, 117] [INFO] [stdout] [INFO] [stdout] all vec: [19, 21, 48, 66, 68, 69, 70, 74, 105, 106, 116, 117, 148, 150, 153, 158, 171, 173, 174, 181, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 358, 389, 394, 402, 412, 419, 435, 445, 468, 472, 476, 480, 482, 483, 490, 508, 512, 518, 523, 524, 547, 571, 594, 599, 608, 634, 635, 644, 647, 651, 673, 674, 685, 691, 700, 706, 727, 732, 746, 748, 758, 761, 801, 812, 817, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 925, 946, 954, 955, 960, 962, 984] [INFO] [stdout] [INFO] [stdout] a all vec: [19, 21, 48, 66, 68, 69, 70, 74, 105, 106, 116, 117, 148, 150, 153, 158, 171, 173, 174, 181, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 358, 389, 394, 402, 412, 419, 435, 445, 468, 472, 476, 480, 482, 483, 490, 508, 512, 518, 523, 524, 547, 571, 594, 599, 608, 634, 635, 644, 647, 651, 673, 674, 685, 691, 700, 706, 727, 732, 746, 748, 758, 761, 801, 812, 817, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 925, 946, 954, 955, 960, 962, 984], true true [INFO] [stdout] [INFO] [stdout] b all vec: [19, 21, 48, 66, 68, 69, 70, 74, 105, 106, 116, 117, 148, 150, 153, 158, 171, 173, 174, 181, 188, 204, 205, 211, 268, 292, 295, 313, 331, 355, 358, 389, 394, 402, 412, 419, 435, 445, 468, 472, 476, 480, 482, 483, 490, 508, 512, 518, 523, 524, 547, 571, 594, 599, 608, 634, 635, 644, 647, 651, 673, 674, 685, 691, 700, 706, 727, 732, 746, 748, 758, 761, 801, 812, 817, 833, 834, 841, 847, 856, 867, 874, 884, 898, 901, 907, 925, 946, 954, 955, 960, 962, 984], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {8, 10, 22, 23, 30, 44, 73, 74, 80, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 164, 173, 176, 185, 190, 203, 210, 246, 255, 294, 312, 372, 379, 381, 406, 422, 425, 434, 436, 438, 439, 458, 463, 467, 476, 487, 492, 498, 500, 538, 542, 543, 580, 591, 606, 613, 619, 620, 635, 653, 667, 669, 672, 689, 693, 733, 769, 770, 773, 774, 789, 796, 848, 859, 869, 886, 891, 894, 902, 938, 959, 975, 976, 980, 989} [INFO] [stdout] b items: {5, 92, 163, 174, 218, 235, 245, 263, 285, 375, 431, 447, 453, 475, 530, 578, 579, 622, 717, 824, 931} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 990), fp: EncodedCountingMonoid(85, SumMonoid(39463)) }], item_sets: [ItemSet { range: Range(990, 8), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 447), fp: EncodedCountingMonoid(10, SumMonoid(2481)) }, Fingerprint { range: Range(447, 990), fp: EncodedCountingMonoid(10, SumMonoid(6156)) }], item_sets: [ItemSet { range: Range(990, 8), items: [5], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 173), fp: EncodedCountingMonoid(21, SumMonoid(1946)) }, Fingerprint { range: Range(173, 447), fp: EncodedCountingMonoid(20, SumMonoid(6376)) }, Fingerprint { range: Range(447, 689), fp: EncodedCountingMonoid(22, SumMonoid(12389)) }, Fingerprint { range: Range(689, 990), fp: EncodedCountingMonoid(22, SumMonoid(18752)) }], item_sets: [], wants: [5], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(173, 263), fp: EncodedCountingMonoid(4, SumMonoid(872)) }, Fingerprint { range: Range(263, 447), fp: EncodedCountingMonoid(4, SumMonoid(1354)) }, Fingerprint { range: Range(447, 578), fp: EncodedCountingMonoid(4, SumMonoid(1905)) }, Fingerprint { range: Range(578, 689), fp: EncodedCountingMonoid(3, SumMonoid(1779)) }], item_sets: [ItemSet { range: Range(8, 173), items: [92, 163], want_response: true }, ItemSet { range: Range(689, 931), items: [717, 824], want_response: true }, ItemSet { range: Range(931, 990), items: [931], want_response: true }], wants: [], provide: [(5, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(173, 203), fp: EncodedCountingMonoid(4, SumMonoid(724)) }, Fingerprint { range: Range(203, 263), fp: EncodedCountingMonoid(4, SumMonoid(914)) }, Fingerprint { range: Range(263, 422), fp: EncodedCountingMonoid(6, SumMonoid(2144)) }, Fingerprint { range: Range(422, 447), fp: EncodedCountingMonoid(6, SumMonoid(2594)) }, Fingerprint { range: Range(447, 498), fp: EncodedCountingMonoid(6, SumMonoid(2843)) }, Fingerprint { range: Range(498, 578), fp: EncodedCountingMonoid(5, SumMonoid(2621)) }, Fingerprint { range: Range(578, 635), fp: EncodedCountingMonoid(6, SumMonoid(3629)) }, Fingerprint { range: Range(635, 689), fp: EncodedCountingMonoid(5, SumMonoid(3296)) }], item_sets: [ItemSet { range: Range(8, 173), items: [8, 10, 22, 23, 30, 44, 73, 74, 80, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 164], want_response: false }, ItemSet { range: Range(689, 931), items: [689, 693, 733, 769, 770, 773, 774, 789, 796, 848, 859, 869, 886, 891, 894, 902], want_response: false }, ItemSet { range: Range(931, 990), items: [938, 959, 975, 976, 980, 989], want_response: false }], wants: [92, 163, 717, 824, 931], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(173, 203), items: [174], want_response: true }, ItemSet { range: Range(203, 245), items: [218, 235], want_response: true }, ItemSet { range: Range(245, 263), items: [245], want_response: true }, ItemSet { range: Range(263, 375), items: [263, 285], want_response: true }, ItemSet { range: Range(375, 422), items: [375], want_response: true }, ItemSet { range: Range(422, 447), items: [431], want_response: true }, ItemSet { range: Range(447, 475), items: [447, 453], want_response: true }, ItemSet { range: Range(475, 498), items: [475], want_response: true }, ItemSet { range: Range(498, 578), items: [530], want_response: true }, ItemSet { range: Range(578, 622), items: [578, 579], want_response: true }, ItemSet { range: Range(622, 635), items: [622], want_response: true }, ItemSet { range: Range(635, 689), items: [], want_response: true }], wants: [8, 10, 22, 23, 30, 44, 73, 74, 80, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 164, 689, 693, 733, 769, 770, 773, 774, 789, 796, 848, 859, 869, 886, 891, 894, 902, 938, 959, 975, 976, 980, 989], provide: [(92, true), (163, true), (717, true), (824, true), (931, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(173, 203), items: [173, 176, 185, 190], want_response: false }, ItemSet { range: Range(203, 245), items: [203, 210], want_response: false }, ItemSet { range: Range(245, 263), items: [246, 255], want_response: false }, ItemSet { range: Range(263, 375), items: [294, 312, 372], want_response: false }, ItemSet { range: Range(375, 422), items: [379, 381, 406], want_response: false }, ItemSet { range: Range(422, 447), items: [422, 425, 434, 436, 438, 439], want_response: false }, ItemSet { range: Range(447, 475), items: [458, 463, 467], want_response: false }, ItemSet { range: Range(475, 498), items: [476, 487, 492], want_response: false }, ItemSet { range: Range(498, 578), items: [498, 500, 538, 542, 543], want_response: false }, ItemSet { range: Range(578, 622), items: [580, 591, 606, 613, 619, 620], want_response: false }, ItemSet { range: Range(622, 635), items: [], want_response: false }, ItemSet { range: Range(635, 689), items: [635, 653, 667, 669, 672], want_response: false }], wants: [174, 218, 235, 245, 263, 285, 375, 431, 447, 453, 475, 530, 578, 579, 622], provide: [(8, true), (10, true), (22, true), (23, true), (30, true), (44, true), (73, true), (74, true), (80, true), (103, true), (111, true), (112, true), (117, true), (118, true), (134, true), (136, true), (138, true), (142, true), (148, true), (159, true), (164, true), (689, true), (693, true), (733, true), (769, true), (770, true), (773, true), (774, true), (789, true), (796, true), (848, true), (859, true), (869, true), (886, true), (891, true), (894, true), (902, true), (938, true), (959, true), (975, true), (976, true), (980, true), (989, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [173, 176, 185, 190, 203, 210, 246, 255, 294, 312, 372, 379, 381, 406, 422, 425, 434, 436, 438, 439, 458, 463, 467, 476, 487, 492, 498, 500, 538, 542, 543, 580, 591, 606, 613, 619, 620, 635, 653, 667, 669, 672], provide: [(174, true), (218, true), (235, true), (245, true), (263, true), (285, true), (375, true), (431, true), (447, true), (453, true), (475, true), (530, true), (578, true), (579, true), (622, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(173, true), (176, true), (185, true), (190, true), (203, true), (210, true), (246, true), (255, true), (294, true), (312, true), (372, true), (379, true), (381, true), (406, true), (422, true), (425, true), (434, true), (436, true), (438, true), (439, true), (458, true), (463, true), (467, true), (476, true), (487, true), (492, true), (498, true), (500, true), (538, true), (542, true), (543, true), (580, true), (591, true), (606, true), (613, true), (619, true), (620, true), (635, true), (653, true), (667, true), (669, true), (672, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {8, 10, 22, 23, 30, 44, 73, 74, 80, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 164, 173, 176, 185, 190, 203, 210, 246, 255, 294, 312, 372, 379, 381, 406, 422, 425, 434, 436, 438, 439, 458, 463, 467, 476, 487, 492, 498, 500, 538, 542, 543, 580, 591, 606, 613, 619, 620, 635, 653, 667, 669, 672, 689, 693, 733, 769, 770, 773, 774, 789, 796, 848, 859, 869, 886, 891, 894, 902, 938, 959, 975, 976, 980, 989} + [5, 92, 163, 717, 824, 931, 174, 218, 235, 245, 263, 285, 375, 431, 447, 453, 475, 530, 578, 579, 622] [INFO] [stdout] b all: {5, 92, 163, 174, 218, 235, 245, 263, 285, 375, 431, 447, 453, 475, 530, 578, 579, 622, 717, 824, 931} + [8, 10, 22, 23, 30, 44, 73, 74, 80, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 164, 689, 693, 733, 769, 770, 773, 774, 789, 796, 848, 859, 869, 886, 891, 894, 902, 938, 959, 975, 976, 980, 989, 173, 176, 185, 190, 203, 210, 246, 255, 294, 312, 372, 379, 381, 406, 422, 425, 434, 436, 438, 439, 458, 463, 467, 476, 487, 492, 498, 500, 538, 542, 543, 580, 591, 606, 613, 619, 620, 635, 653, 667, 669, 672] [INFO] [stdout] [INFO] [stdout] all vec: [5, 8, 10, 22, 23, 30, 44, 73, 74, 80, 92, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 163, 164, 173, 174, 176, 185, 190, 203, 210, 218, 235, 245, 246, 255, 263, 285, 294, 312, 372, 375, 379, 381, 406, 422, 425, 431, 434, 436, 438, 439, 447, 453, 458, 463, 467, 475, 476, 487, 492, 498, 500, 530, 538, 542, 543, 578, 579, 580, 591, 606, 613, 619, 620, 622, 635, 653, 667, 669, 672, 689, 693, 717, 733, 769, 770, 773, 774, 789, 796, 824, 848, 859, 869, 886, 891, 894, 902, 931, 938, 959, 975, 976, 980, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 8, 10, 22, 23, 30, 44, 73, 74, 80, 92, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 163, 164, 173, 174, 176, 185, 190, 203, 210, 218, 235, 245, 246, 255, 263, 285, 294, 312, 372, 375, 379, 381, 406, 422, 425, 431, 434, 436, 438, 439, 447, 453, 458, 463, 467, 475, 476, 487, 492, 498, 500, 530, 538, 542, 543, 578, 579, 580, 591, 606, 613, 619, 620, 622, 635, 653, 667, 669, 672, 689, 693, 717, 733, 769, 770, 773, 774, 789, 796, 824, 848, 859, 869, 886, 891, 894, 902, 931, 938, 959, 975, 976, 980, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 8, 10, 22, 23, 30, 44, 73, 74, 80, 92, 103, 111, 112, 117, 118, 134, 136, 138, 142, 148, 159, 163, 164, 173, 174, 176, 185, 190, 203, 210, 218, 235, 245, 246, 255, 263, 285, 294, 312, 372, 375, 379, 381, 406, 422, 425, 431, 434, 436, 438, 439, 447, 453, 458, 463, 467, 475, 476, 487, 492, 498, 500, 530, 538, 542, 543, 578, 579, 580, 591, 606, 613, 619, 620, 622, 635, 653, 667, 669, 672, 689, 693, 717, 733, 769, 770, 773, 774, 789, 796, 824, 848, 859, 869, 886, 891, 894, 902, 931, 938, 959, 975, 976, 980, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 7, 58, 64, 65, 80, 84, 85, 92, 97, 120, 129, 136, 153, 164, 166, 167, 170, 205, 214, 216, 247, 270, 294, 327, 344, 356, 418, 447, 448, 452, 472, 491, 496, 511, 523, 535, 536, 543, 550, 568, 574, 575, 584, 589, 623, 654, 656, 686, 698, 700, 706, 724, 729, 731, 739, 746, 764, 782, 797, 807, 820, 844, 851, 872, 874, 917, 953, 984, 989} [INFO] [stdout] b items: {11, 34, 41, 44, 54, 66, 68, 84, 90, 111, 117, 138, 142, 145, 170, 222, 228, 248, 250, 289, 300, 302, 313, 328, 332, 334, 342, 345, 352, 368, 373, 378, 425, 435, 436, 437, 476, 498, 502, 527, 531, 547, 583, 600, 612, 614, 662, 665, 693, 697, 699, 706, 711, 715, 721, 735, 776, 816, 846, 849, 851, 854, 886, 890, 908} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 990), fp: EncodedCountingMonoid(70, SumMonoid(33271)) }], item_sets: [ItemSet { range: Range(990, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 435), fp: EncodedCountingMonoid(33, SumMonoid(7044)) }, Fingerprint { range: Range(435, 990), fp: EncodedCountingMonoid(32, SumMonoid(21478)) }], item_sets: [ItemSet { range: Range(990, 3), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 164), fp: EncodedCountingMonoid(14, SumMonoid(1173)) }, Fingerprint { range: Range(164, 435), fp: EncodedCountingMonoid(14, SumMonoid(3558)) }, Fingerprint { range: Range(435, 698), fp: EncodedCountingMonoid(21, SumMonoid(11513)) }, Fingerprint { range: Range(698, 990), fp: EncodedCountingMonoid(21, SumMonoid(17027)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 84), fp: EncodedCountingMonoid(7, SumMonoid(318)) }, Fingerprint { range: Range(84, 164), fp: EncodedCountingMonoid(7, SumMonoid(827)) }, Fingerprint { range: Range(164, 332), fp: EncodedCountingMonoid(10, SumMonoid(2650)) }, Fingerprint { range: Range(332, 435), fp: EncodedCountingMonoid(9, SumMonoid(3249)) }, Fingerprint { range: Range(435, 583), fp: EncodedCountingMonoid(9, SumMonoid(4389)) }, Fingerprint { range: Range(583, 698), fp: EncodedCountingMonoid(8, SumMonoid(5126)) }, Fingerprint { range: Range(698, 846), fp: EncodedCountingMonoid(8, SumMonoid(5879)) }, Fingerprint { range: Range(846, 990), fp: EncodedCountingMonoid(7, SumMonoid(6084)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 64), fp: EncodedCountingMonoid(3, SumMonoid(68)) }, Fingerprint { range: Range(64, 84), fp: EncodedCountingMonoid(3, SumMonoid(209)) }, Fingerprint { range: Range(84, 120), fp: EncodedCountingMonoid(4, SumMonoid(358)) }, Fingerprint { range: Range(120, 164), fp: EncodedCountingMonoid(4, SumMonoid(538)) }, Fingerprint { range: Range(164, 216), fp: EncodedCountingMonoid(6, SumMonoid(1086)) }, Fingerprint { range: Range(216, 332), fp: EncodedCountingMonoid(5, SumMonoid(1354)) }, Fingerprint { range: Range(435, 535), fp: EncodedCountingMonoid(8, SumMonoid(3840)) }, Fingerprint { range: Range(535, 583), fp: EncodedCountingMonoid(7, SumMonoid(3881)) }, Fingerprint { range: Range(583, 654), fp: EncodedCountingMonoid(3, SumMonoid(1796)) }, Fingerprint { range: Range(654, 698), fp: EncodedCountingMonoid(3, SumMonoid(1996)) }, Fingerprint { range: Range(698, 746), fp: EncodedCountingMonoid(7, SumMonoid(5027)) }, Fingerprint { range: Range(746, 846), fp: EncodedCountingMonoid(7, SumMonoid(5560)) }, Fingerprint { range: Range(846, 953), fp: EncodedCountingMonoid(4, SumMonoid(3514)) }, Fingerprint { range: Range(953, 990), fp: EncodedCountingMonoid(3, SumMonoid(2926)) }], item_sets: [ItemSet { range: Range(332, 418), items: [344, 356], want_response: true }, ItemSet { range: Range(418, 435), items: [418], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 44), fp: EncodedCountingMonoid(3, SumMonoid(86)) }, Fingerprint { range: Range(216, 300), fp: EncodedCountingMonoid(5, SumMonoid(1237)) }, Fingerprint { range: Range(300, 332), fp: EncodedCountingMonoid(4, SumMonoid(1243)) }, Fingerprint { range: Range(435, 498), fp: EncodedCountingMonoid(4, SumMonoid(1784)) }, Fingerprint { range: Range(498, 535), fp: EncodedCountingMonoid(4, SumMonoid(2058)) }, Fingerprint { range: Range(698, 715), fp: EncodedCountingMonoid(3, SumMonoid(2116)) }, Fingerprint { range: Range(715, 746), fp: EncodedCountingMonoid(3, SumMonoid(2171)) }, Fingerprint { range: Range(846, 886), fp: EncodedCountingMonoid(4, SumMonoid(3400)) }, Fingerprint { range: Range(886, 953), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(332, 418), items: [332, 334, 342, 345, 352, 368, 373, 378], want_response: false }, ItemSet { range: Range(418, 435), items: [425], want_response: false }, ItemSet { range: Range(44, 64), items: [44, 54], want_response: true }, ItemSet { range: Range(64, 84), items: [66, 68], want_response: true }, ItemSet { range: Range(84, 111), items: [84, 90], want_response: true }, ItemSet { range: Range(111, 120), items: [111, 117], want_response: true }, ItemSet { range: Range(120, 145), items: [138, 142], want_response: true }, ItemSet { range: Range(145, 164), items: [145], want_response: true }, ItemSet { range: Range(164, 216), items: [170], want_response: true }, ItemSet { range: Range(535, 583), items: [547], want_response: true }, ItemSet { range: Range(583, 612), items: [583, 600], want_response: true }, ItemSet { range: Range(612, 654), items: [612, 614], want_response: true }, ItemSet { range: Range(654, 693), items: [662, 665], want_response: true }, ItemSet { range: Range(693, 698), items: [693, 697], want_response: true }, ItemSet { range: Range(746, 846), items: [776, 816], want_response: true }, ItemSet { range: Range(953, 990), items: [], want_response: true }], wants: [344, 356, 418], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(435, 472), fp: EncodedCountingMonoid(3, SumMonoid(1347)) }, Fingerprint { range: Range(472, 498), fp: EncodedCountingMonoid(3, SumMonoid(1459)) }], item_sets: [ItemSet { range: Range(44, 64), items: [58], want_response: false }, ItemSet { range: Range(64, 84), items: [64, 65, 80], want_response: false }, ItemSet { range: Range(84, 111), items: [84, 85, 92, 97], want_response: false }, ItemSet { range: Range(111, 120), items: [], want_response: false }, ItemSet { range: Range(120, 145), items: [120, 129, 136], want_response: false }, ItemSet { range: Range(145, 164), items: [153], want_response: false }, ItemSet { range: Range(164, 216), items: [164, 166, 167, 170, 205, 214], want_response: false }, ItemSet { range: Range(535, 583), items: [535, 536, 543, 550, 568, 574, 575], want_response: false }, ItemSet { range: Range(583, 612), items: [584, 589], want_response: false }, ItemSet { range: Range(612, 654), items: [623], want_response: false }, ItemSet { range: Range(654, 693), items: [654, 656, 686], want_response: false }, ItemSet { range: Range(693, 698), items: [], want_response: false }, ItemSet { range: Range(746, 846), items: [746, 764, 782, 797, 807, 820, 844], want_response: false }, ItemSet { range: Range(953, 990), items: [953, 984, 989], want_response: false }, ItemSet { range: Range(3, 44), items: [3, 7], want_response: true }, ItemSet { range: Range(216, 270), items: [216, 247], want_response: true }, ItemSet { range: Range(270, 300), items: [270, 294], want_response: true }, ItemSet { range: Range(300, 332), items: [327], want_response: true }, ItemSet { range: Range(498, 535), items: [511, 523], want_response: true }, ItemSet { range: Range(698, 706), items: [698, 700], want_response: true }, ItemSet { range: Range(706, 715), items: [706], want_response: true }, ItemSet { range: Range(715, 731), items: [724, 729], want_response: true }, ItemSet { range: Range(731, 746), items: [731, 739], want_response: true }, ItemSet { range: Range(846, 874), items: [851, 872], want_response: true }, ItemSet { range: Range(874, 886), items: [874], want_response: true }, ItemSet { range: Range(886, 953), items: [917], want_response: true }], wants: [332, 334, 342, 345, 352, 368, 373, 378, 425, 44, 54, 66, 68, 90, 111, 117, 138, 142, 145, 547, 583, 600, 612, 614, 662, 665, 693, 697, 776, 816], provide: [(344, true), (356, true), (418, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 44), items: [11, 34, 41], want_response: false }, ItemSet { range: Range(216, 270), items: [222, 228, 248, 250], want_response: false }, ItemSet { range: Range(270, 300), items: [289], want_response: false }, ItemSet { range: Range(300, 332), items: [300, 302, 313, 328], want_response: false }, ItemSet { range: Range(498, 535), items: [498, 502, 527, 531], want_response: false }, ItemSet { range: Range(698, 706), items: [699], want_response: false }, ItemSet { range: Range(706, 715), items: [706, 711], want_response: false }, ItemSet { range: Range(715, 731), items: [715, 721], want_response: false }, ItemSet { range: Range(731, 746), items: [735], want_response: false }, ItemSet { range: Range(846, 874), items: [846, 849, 851, 854], want_response: false }, ItemSet { range: Range(874, 886), items: [], want_response: false }, ItemSet { range: Range(886, 953), items: [886, 890, 908], want_response: false }, ItemSet { range: Range(435, 437), items: [435, 436], want_response: true }, ItemSet { range: Range(437, 472), items: [437], want_response: true }, ItemSet { range: Range(472, 498), items: [476], want_response: true }], wants: [58, 64, 65, 80, 85, 92, 97, 120, 129, 136, 153, 164, 166, 167, 205, 214, 535, 536, 543, 550, 568, 574, 575, 584, 589, 623, 654, 656, 686, 746, 764, 782, 797, 807, 820, 844, 953, 984, 989, 3, 7, 216, 247, 270, 294, 327, 511, 523, 698, 700, 724, 729, 731, 739, 872, 874, 917], provide: [(332, true), (334, true), (342, true), (345, true), (352, true), (368, true), (373, true), (378, true), (425, true), (44, true), (54, true), (66, true), (68, true), (90, true), (111, true), (117, true), (138, true), (142, true), (145, true), (547, true), (583, true), (600, true), (612, true), (614, true), (662, true), (665, true), (693, true), (697, true), (776, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(435, 437), items: [], want_response: false }, ItemSet { range: Range(437, 472), items: [447, 448, 452], want_response: false }, ItemSet { range: Range(472, 498), items: [472, 491, 496], want_response: false }], wants: [11, 34, 41, 222, 228, 248, 250, 289, 300, 302, 313, 328, 498, 502, 527, 531, 699, 711, 715, 721, 735, 846, 849, 854, 886, 890, 908, 435, 436, 437, 476], provide: [(58, true), (64, true), (65, true), (80, true), (85, true), (92, true), (97, true), (120, true), (129, true), (136, true), (153, true), (164, true), (166, true), (167, true), (205, true), (214, true), (535, true), (536, true), (543, true), (550, true), (568, true), (574, true), (575, true), (584, true), (589, true), (623, true), (654, true), (656, true), (686, true), (746, true), (764, true), (782, true), (797, true), (807, true), (820, true), (844, true), (953, true), (984, true), (989, true), (3, true), (7, true), (216, true), (247, true), (270, true), (294, true), (327, true), (511, true), (523, true), (698, true), (700, true), (724, true), (729, true), (731, true), (739, true), (872, true), (874, true), (917, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [447, 448, 452, 472, 491, 496], provide: [(11, true), (34, true), (41, true), (222, true), (228, true), (248, true), (250, true), (289, true), (300, true), (302, true), (313, true), (328, true), (498, true), (502, true), (527, true), (531, true), (699, true), (711, true), (715, true), (721, true), (735, true), (846, true), (849, true), (854, true), (886, true), (890, true), (908, true), (435, true), (436, true), (437, true), (476, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(447, true), (448, true), (452, true), (472, true), (491, true), (496, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 7, 58, 64, 65, 80, 84, 85, 92, 97, 120, 129, 136, 153, 164, 166, 167, 170, 205, 214, 216, 247, 270, 294, 327, 344, 356, 418, 447, 448, 452, 472, 491, 496, 511, 523, 535, 536, 543, 550, 568, 574, 575, 584, 589, 623, 654, 656, 686, 698, 700, 706, 724, 729, 731, 739, 746, 764, 782, 797, 807, 820, 844, 851, 872, 874, 917, 953, 984, 989} + [332, 334, 342, 345, 352, 368, 373, 378, 425, 44, 54, 66, 68, 90, 111, 117, 138, 142, 145, 547, 583, 600, 612, 614, 662, 665, 693, 697, 776, 816, 11, 34, 41, 222, 228, 248, 250, 289, 300, 302, 313, 328, 498, 502, 527, 531, 699, 711, 715, 721, 735, 846, 849, 854, 886, 890, 908, 435, 436, 437, 476] [INFO] [stdout] b all: {11, 34, 41, 44, 54, 66, 68, 84, 90, 111, 117, 138, 142, 145, 170, 222, 228, 248, 250, 289, 300, 302, 313, 328, 332, 334, 342, 345, 352, 368, 373, 378, 425, 435, 436, 437, 476, 498, 502, 527, 531, 547, 583, 600, 612, 614, 662, 665, 693, 697, 699, 706, 711, 715, 721, 735, 776, 816, 846, 849, 851, 854, 886, 890, 908} + [344, 356, 418, 58, 64, 65, 80, 85, 92, 97, 120, 129, 136, 153, 164, 166, 167, 205, 214, 535, 536, 543, 550, 568, 574, 575, 584, 589, 623, 654, 656, 686, 746, 764, 782, 797, 807, 820, 844, 953, 984, 989, 3, 7, 216, 247, 270, 294, 327, 511, 523, 698, 700, 724, 729, 731, 739, 872, 874, 917, 447, 448, 452, 472, 491, 496] [INFO] [stdout] [INFO] [stdout] all vec: [3, 7, 11, 34, 41, 44, 54, 58, 64, 65, 66, 68, 80, 84, 85, 90, 92, 97, 111, 117, 120, 129, 136, 138, 142, 145, 153, 164, 166, 167, 170, 205, 214, 216, 222, 228, 247, 248, 250, 270, 289, 294, 300, 302, 313, 327, 328, 332, 334, 342, 344, 345, 352, 356, 368, 373, 378, 418, 425, 435, 436, 437, 447, 448, 452, 472, 476, 491, 496, 498, 502, 511, 523, 527, 531, 535, 536, 543, 547, 550, 568, 574, 575, 583, 584, 589, 600, 612, 614, 623, 654, 656, 662, 665, 686, 693, 697, 698, 699, 700, 706, 711, 715, 721, 724, 729, 731, 735, 739, 746, 764, 776, 782, 797, 807, 816, 820, 844, 846, 849, 851, 854, 872, 874, 886, 890, 908, 917, 953, 984, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 7, 11, 34, 41, 44, 54, 58, 64, 65, 66, 68, 80, 84, 85, 90, 92, 97, 111, 117, 120, 129, 136, 138, 142, 145, 153, 164, 166, 167, 170, 205, 214, 216, 222, 228, 247, 248, 250, 270, 289, 294, 300, 302, 313, 327, 328, 332, 334, 342, 344, 345, 352, 356, 368, 373, 378, 418, 425, 435, 436, 437, 447, 448, 452, 472, 476, 491, 496, 498, 502, 511, 523, 527, 531, 535, 536, 543, 547, 550, 568, 574, 575, 583, 584, 589, 600, 612, 614, 623, 654, 656, 662, 665, 686, 693, 697, 698, 699, 700, 706, 711, 715, 721, 724, 729, 731, 735, 739, 746, 764, 776, 782, 797, 807, 816, 820, 844, 846, 849, 851, 854, 872, 874, 886, 890, 908, 917, 953, 984, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 7, 11, 34, 41, 44, 54, 58, 64, 65, 66, 68, 80, 84, 85, 90, 92, 97, 111, 117, 120, 129, 136, 138, 142, 145, 153, 164, 166, 167, 170, 205, 214, 216, 222, 228, 247, 248, 250, 270, 289, 294, 300, 302, 313, 327, 328, 332, 334, 342, 344, 345, 352, 356, 368, 373, 378, 418, 425, 435, 436, 437, 447, 448, 452, 472, 476, 491, 496, 498, 502, 511, 523, 527, 531, 535, 536, 543, 547, 550, 568, 574, 575, 583, 584, 589, 600, 612, 614, 623, 654, 656, 662, 665, 686, 693, 697, 698, 699, 700, 706, 711, 715, 721, 724, 729, 731, 735, 739, 746, 764, 776, 782, 797, 807, 816, 820, 844, 846, 849, 851, 854, 872, 874, 886, 890, 908, 917, 953, 984, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {25, 276, 327, 392, 582, 640, 718} [INFO] [stdout] b items: {3, 10, 13, 15, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 286, 310, 318, 338, 351, 371, 386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634, 640, 651, 677, 696, 722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 719), fp: EncodedCountingMonoid(7, SumMonoid(2960)) }], item_sets: [ItemSet { range: Range(719, 25), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 386), fp: EncodedCountingMonoid(21, SumMonoid(4219)) }, Fingerprint { range: Range(386, 719), fp: EncodedCountingMonoid(21, SumMonoid(11136)) }], item_sets: [ItemSet { range: Range(719, 25), items: [722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999, 3, 10, 13, 15], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(25, 327), items: [25, 276], want_response: true }, ItemSet { range: Range(327, 386), items: [327], want_response: true }, ItemSet { range: Range(386, 640), items: [392, 582], want_response: true }, ItemSet { range: Range(640, 719), items: [640, 718], want_response: true }], wants: [722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999, 3, 10, 13, 15], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(25, 327), items: [40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 286, 310, 318], want_response: false }, ItemSet { range: Range(327, 386), items: [338, 351, 371], want_response: false }, ItemSet { range: Range(386, 640), items: [386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634], want_response: false }, ItemSet { range: Range(640, 719), items: [640, 651, 677, 696], want_response: false }], wants: [25, 276, 327, 718], provide: [(722, true), (725, true), (729, true), (741, true), (747, true), (765, true), (767, true), (802, true), (803, true), (811, true), (829, true), (830, true), (846, true), (858, true), (897, true), (898, true), (907, true), (972, true), (996, true), (999, true), (3, true), (10, true), (13, true), (15, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 286, 310, 318, 338, 351, 371, 386, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 634, 651, 677, 696], provide: [(25, true), (276, true), (327, true), (718, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(40, true), (60, true), (67, true), (71, true), (76, true), (102, true), (131, true), (137, true), (142, true), (146, true), (222, true), (251, true), (255, true), (271, true), (274, true), (286, true), (310, true), (318, true), (338, true), (351, true), (371, true), (386, true), (416, true), (442, true), (461, true), (465, true), (472, true), (476, true), (511, true), (513, true), (519, true), (531, true), (538, true), (555, true), (579, true), (634, true), (651, true), (677, true), (696, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {25, 276, 327, 392, 582, 640, 718} + [722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999, 3, 10, 13, 15, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 286, 310, 318, 338, 351, 371, 386, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 634, 651, 677, 696] [INFO] [stdout] b all: {3, 10, 13, 15, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 286, 310, 318, 338, 351, 371, 386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634, 640, 651, 677, 696, 722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999} + [25, 276, 327, 718] [INFO] [stdout] [INFO] [stdout] all vec: [3, 10, 13, 15, 25, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 276, 286, 310, 318, 327, 338, 351, 371, 386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634, 640, 651, 677, 696, 718, 722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 10, 13, 15, 25, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 276, 286, 310, 318, 327, 338, 351, 371, 386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634, 640, 651, 677, 696, 718, 722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 10, 13, 15, 25, 40, 60, 67, 71, 76, 102, 131, 137, 142, 146, 222, 251, 255, 271, 274, 276, 286, 310, 318, 327, 338, 351, 371, 386, 392, 416, 442, 461, 465, 472, 476, 511, 513, 519, 531, 538, 555, 579, 582, 634, 640, 651, 677, 696, 718, 722, 725, 729, 741, 747, 765, 767, 802, 803, 811, 829, 830, 846, 858, 897, 898, 907, 972, 996, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {5, 29, 71, 172, 214, 243, 280, 288, 400, 560, 606, 725, 759, 772, 789, 909} [INFO] [stdout] b items: {38, 43, 112, 115, 136, 138, 164, 188, 201, 253, 255, 261, 287, 298, 326, 327, 339, 340, 347, 388, 389, 410, 420, 472, 563, 570, 580, 627, 672, 693, 713, 718, 744, 763, 776, 785, 818, 819, 876, 912, 952, 972, 987, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(5, 910), fp: EncodedCountingMonoid(16, SumMonoid(6822)) }], item_sets: [ItemSet { range: Range(910, 5), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 389), fp: EncodedCountingMonoid(20, SumMonoid(4556)) }, Fingerprint { range: Range(389, 910), fp: EncodedCountingMonoid(19, SumMonoid(12408)) }], item_sets: [ItemSet { range: Range(910, 5), items: [912, 952, 972, 987, 999], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(5, 214), fp: EncodedCountingMonoid(4, SumMonoid(277)) }, Fingerprint { range: Range(214, 389), fp: EncodedCountingMonoid(4, SumMonoid(1025)) }, Fingerprint { range: Range(389, 759), fp: EncodedCountingMonoid(4, SumMonoid(2291)) }, Fingerprint { range: Range(759, 910), fp: EncodedCountingMonoid(4, SumMonoid(3229)) }], item_sets: [], wants: [912, 952, 972, 987, 999], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(5, 138), fp: EncodedCountingMonoid(5, SumMonoid(444)) }, Fingerprint { range: Range(138, 214), fp: EncodedCountingMonoid(4, SumMonoid(691)) }, Fingerprint { range: Range(214, 327), fp: EncodedCountingMonoid(6, SumMonoid(1680)) }, Fingerprint { range: Range(327, 389), fp: EncodedCountingMonoid(5, SumMonoid(1741)) }, Fingerprint { range: Range(389, 627), fp: EncodedCountingMonoid(7, SumMonoid(3404)) }, Fingerprint { range: Range(627, 759), fp: EncodedCountingMonoid(6, SumMonoid(4167)) }, Fingerprint { range: Range(759, 818), fp: EncodedCountingMonoid(3, SumMonoid(2324)) }, Fingerprint { range: Range(818, 910), fp: EncodedCountingMonoid(3, SumMonoid(2513)) }], item_sets: [], wants: [], provide: [(912, true), (952, true), (972, true), (987, true), (999, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 71), items: [5, 29], want_response: true }, ItemSet { range: Range(71, 138), items: [71], want_response: true }, ItemSet { range: Range(138, 214), items: [172], want_response: true }, ItemSet { range: Range(214, 280), items: [214, 243], want_response: true }, ItemSet { range: Range(280, 327), items: [280, 288], want_response: true }, ItemSet { range: Range(327, 389), items: [], want_response: true }, ItemSet { range: Range(389, 606), items: [400, 560], want_response: true }, ItemSet { range: Range(606, 627), items: [606], want_response: true }, ItemSet { range: Range(627, 759), items: [725], want_response: true }, ItemSet { range: Range(759, 789), items: [759, 772], want_response: true }, ItemSet { range: Range(789, 818), items: [789], want_response: true }, ItemSet { range: Range(818, 910), items: [909], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(5, 71), items: [38, 43], want_response: false }, ItemSet { range: Range(71, 138), items: [112, 115, 136], want_response: false }, ItemSet { range: Range(138, 214), items: [138, 164, 188, 201], want_response: false }, ItemSet { range: Range(214, 280), items: [253, 255, 261], want_response: false }, ItemSet { range: Range(280, 327), items: [287, 298, 326], want_response: false }, ItemSet { range: Range(327, 389), items: [327, 339, 340, 347, 388], want_response: false }, ItemSet { range: Range(389, 606), items: [389, 410, 420, 472, 563, 570, 580], want_response: false }, ItemSet { range: Range(606, 627), items: [], want_response: false }, ItemSet { range: Range(627, 759), items: [627, 672, 693, 713, 718, 744], want_response: false }, ItemSet { range: Range(759, 789), items: [763, 776, 785], want_response: false }, ItemSet { range: Range(789, 818), items: [], want_response: false }, ItemSet { range: Range(818, 910), items: [818, 819, 876], want_response: false }], wants: [5, 29, 71, 172, 214, 243, 280, 288, 400, 560, 606, 725, 759, 772, 789, 909], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [38, 43, 112, 115, 136, 138, 164, 188, 201, 253, 255, 261, 287, 298, 326, 327, 339, 340, 347, 388, 389, 410, 420, 472, 563, 570, 580, 627, 672, 693, 713, 718, 744, 763, 776, 785, 818, 819, 876], provide: [(5, true), (29, true), (71, true), (172, true), (214, true), (243, true), (280, true), (288, true), (400, true), (560, true), (606, true), (725, true), (759, true), (772, true), (789, true), (909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(38, true), (43, true), (112, true), (115, true), (136, true), (138, true), (164, true), (188, true), (201, true), (253, true), (255, true), (261, true), (287, true), (298, true), (326, true), (327, true), (339, true), (340, true), (347, true), (388, true), (389, true), (410, true), (420, true), (472, true), (563, true), (570, true), (580, true), (627, true), (672, true), (693, true), (713, true), (718, true), (744, true), (763, true), (776, true), (785, true), (818, true), (819, true), (876, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {5, 29, 71, 172, 214, 243, 280, 288, 400, 560, 606, 725, 759, 772, 789, 909} + [912, 952, 972, 987, 999, 38, 43, 112, 115, 136, 138, 164, 188, 201, 253, 255, 261, 287, 298, 326, 327, 339, 340, 347, 388, 389, 410, 420, 472, 563, 570, 580, 627, 672, 693, 713, 718, 744, 763, 776, 785, 818, 819, 876] [INFO] [stdout] b all: {38, 43, 112, 115, 136, 138, 164, 188, 201, 253, 255, 261, 287, 298, 326, 327, 339, 340, 347, 388, 389, 410, 420, 472, 563, 570, 580, 627, 672, 693, 713, 718, 744, 763, 776, 785, 818, 819, 876, 912, 952, 972, 987, 999} + [5, 29, 71, 172, 214, 243, 280, 288, 400, 560, 606, 725, 759, 772, 789, 909] [INFO] [stdout] [INFO] [stdout] all vec: [5, 29, 38, 43, 71, 112, 115, 136, 138, 164, 172, 188, 201, 214, 243, 253, 255, 261, 280, 287, 288, 298, 326, 327, 339, 340, 347, 388, 389, 400, 410, 420, 472, 560, 563, 570, 580, 606, 627, 672, 693, 713, 718, 725, 744, 759, 763, 772, 776, 785, 789, 818, 819, 876, 909, 912, 952, 972, 987, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 29, 38, 43, 71, 112, 115, 136, 138, 164, 172, 188, 201, 214, 243, 253, 255, 261, 280, 287, 288, 298, 326, 327, 339, 340, 347, 388, 389, 400, 410, 420, 472, 560, 563, 570, 580, 606, 627, 672, 693, 713, 718, 725, 744, 759, 763, 772, 776, 785, 789, 818, 819, 876, 909, 912, 952, 972, 987, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 29, 38, 43, 71, 112, 115, 136, 138, 164, 172, 188, 201, 214, 243, 253, 255, 261, 280, 287, 288, 298, 326, 327, 339, 340, 347, 388, 389, 400, 410, 420, 472, 560, 563, 570, 580, 606, 627, 672, 693, 713, 718, 725, 744, 759, 763, 772, 776, 785, 789, 818, 819, 876, 909, 912, 952, 972, 987, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {21, 176, 177, 195, 198, 218, 235, 244, 256, 392, 396, 400, 419, 436, 463, 476, 512, 531, 533, 542, 560, 644, 676, 679, 719, 785, 800, 803, 812, 824, 858, 982} [INFO] [stdout] b items: {12, 13, 24, 33, 44, 45, 97, 103, 155, 171, 188, 192, 213, 224, 255, 266, 280, 283, 288, 327, 363, 402, 426, 433, 450, 454, 480, 491, 505, 507, 512, 525, 573, 576, 582, 593, 623, 649, 652, 658, 667, 686, 714, 732, 755, 780, 783, 816, 825, 838, 840, 856, 859, 896, 927, 940, 960, 968, 984, 989} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 983), fp: EncodedCountingMonoid(32, SumMonoid(15962)) }], item_sets: [ItemSet { range: Range(983, 21), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(21, 512), fp: EncodedCountingMonoid(28, SumMonoid(7699)) }, Fingerprint { range: Range(512, 983), fp: EncodedCountingMonoid(28, SumMonoid(20785)) }], item_sets: [ItemSet { range: Range(983, 21), items: [984, 989, 12, 13], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 256), fp: EncodedCountingMonoid(8, SumMonoid(1464)) }, Fingerprint { range: Range(256, 512), fp: EncodedCountingMonoid(8, SumMonoid(3238)) }, Fingerprint { range: Range(512, 719), fp: EncodedCountingMonoid(8, SumMonoid(4677)) }, Fingerprint { range: Range(719, 983), fp: EncodedCountingMonoid(8, SumMonoid(6583)) }], item_sets: [], wants: [984, 989, 12, 13], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(21, 171), fp: EncodedCountingMonoid(7, SumMonoid(501)) }, Fingerprint { range: Range(171, 256), fp: EncodedCountingMonoid(6, SumMonoid(1243)) }, Fingerprint { range: Range(256, 433), fp: EncodedCountingMonoid(8, SumMonoid(2635)) }, Fingerprint { range: Range(433, 512), fp: EncodedCountingMonoid(7, SumMonoid(3320)) }, Fingerprint { range: Range(512, 649), fp: EncodedCountingMonoid(7, SumMonoid(3984)) }, Fingerprint { range: Range(649, 719), fp: EncodedCountingMonoid(6, SumMonoid(4026)) }, Fingerprint { range: Range(719, 856), fp: EncodedCountingMonoid(8, SumMonoid(6369)) }, Fingerprint { range: Range(856, 983), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(984, true), (989, true), (12, true), (13, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(171, 218), fp: EncodedCountingMonoid(4, SumMonoid(746)) }, Fingerprint { range: Range(218, 256), fp: EncodedCountingMonoid(3, SumMonoid(697)) }, Fingerprint { range: Range(256, 400), fp: EncodedCountingMonoid(3, SumMonoid(1044)) }, Fingerprint { range: Range(512, 542), fp: EncodedCountingMonoid(3, SumMonoid(1576)) }, Fingerprint { range: Range(542, 649), fp: EncodedCountingMonoid(3, SumMonoid(1746)) }, Fingerprint { range: Range(719, 803), fp: EncodedCountingMonoid(3, SumMonoid(2304)) }, Fingerprint { range: Range(803, 856), fp: EncodedCountingMonoid(3, SumMonoid(2439)) }], item_sets: [ItemSet { range: Range(21, 171), items: [21], want_response: true }, ItemSet { range: Range(400, 433), items: [400, 419], want_response: true }, ItemSet { range: Range(433, 476), items: [436, 463], want_response: true }, ItemSet { range: Range(476, 512), items: [476], want_response: true }, ItemSet { range: Range(649, 719), items: [676, 679], want_response: true }, ItemSet { range: Range(856, 983), items: [858, 982], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(256, 288), fp: EncodedCountingMonoid(3, SumMonoid(829)) }, Fingerprint { range: Range(288, 400), fp: EncodedCountingMonoid(3, SumMonoid(978)) }, Fingerprint { range: Range(542, 593), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }], item_sets: [ItemSet { range: Range(21, 171), items: [24, 33, 44, 45, 97, 103, 155], want_response: false }, ItemSet { range: Range(400, 433), items: [402, 426], want_response: false }, ItemSet { range: Range(433, 476), items: [433, 450, 454], want_response: false }, ItemSet { range: Range(476, 512), items: [480, 491, 505, 507], want_response: false }, ItemSet { range: Range(649, 719), items: [649, 652, 658, 667, 686, 714], want_response: false }, ItemSet { range: Range(856, 983), items: [856, 859, 896, 927, 940, 960, 968], want_response: false }, ItemSet { range: Range(171, 192), items: [171, 188], want_response: true }, ItemSet { range: Range(192, 218), items: [192, 213], want_response: true }, ItemSet { range: Range(218, 256), items: [224, 255], want_response: true }, ItemSet { range: Range(512, 542), items: [512, 525], want_response: true }, ItemSet { range: Range(593, 649), items: [593, 623], want_response: true }, ItemSet { range: Range(719, 780), items: [732, 755], want_response: true }, ItemSet { range: Range(780, 803), items: [780, 783], want_response: true }, ItemSet { range: Range(803, 838), items: [816, 825], want_response: true }, ItemSet { range: Range(838, 856), items: [838, 840], want_response: true }], wants: [21, 400, 419, 436, 463, 476, 676, 679, 858, 982], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(171, 192), items: [176, 177], want_response: false }, ItemSet { range: Range(192, 218), items: [195, 198], want_response: false }, ItemSet { range: Range(218, 256), items: [218, 235, 244], want_response: false }, ItemSet { range: Range(512, 542), items: [512, 531, 533], want_response: false }, ItemSet { range: Range(593, 649), items: [644], want_response: false }, ItemSet { range: Range(719, 780), items: [719], want_response: false }, ItemSet { range: Range(780, 803), items: [785, 800], want_response: false }, ItemSet { range: Range(803, 838), items: [803, 812, 824], want_response: false }, ItemSet { range: Range(838, 856), items: [], want_response: false }, ItemSet { range: Range(256, 288), items: [256], want_response: true }, ItemSet { range: Range(288, 400), items: [392, 396], want_response: true }, ItemSet { range: Range(542, 593), items: [542, 560], want_response: true }], wants: [24, 33, 44, 45, 97, 103, 155, 402, 426, 433, 450, 454, 480, 491, 505, 507, 649, 652, 658, 667, 686, 714, 856, 859, 896, 927, 940, 960, 968, 171, 188, 192, 213, 224, 255, 525, 593, 623, 732, 755, 780, 783, 816, 825, 838, 840], provide: [(21, true), (400, true), (419, true), (436, true), (463, true), (476, true), (676, true), (679, true), (858, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(256, 288), items: [266, 280, 283], want_response: false }, ItemSet { range: Range(288, 400), items: [288, 327, 363], want_response: false }, ItemSet { range: Range(542, 593), items: [573, 576, 582], want_response: false }], wants: [176, 177, 195, 198, 218, 235, 244, 531, 533, 644, 719, 785, 800, 803, 812, 824, 256, 392, 396, 542, 560], provide: [(24, true), (33, true), (44, true), (45, true), (97, true), (103, true), (155, true), (402, true), (426, true), (433, true), (450, true), (454, true), (480, true), (491, true), (505, true), (507, true), (649, true), (652, true), (658, true), (667, true), (686, true), (714, true), (856, true), (859, true), (896, true), (927, true), (940, true), (960, true), (968, true), (171, true), (188, true), (192, true), (213, true), (224, true), (255, true), (525, true), (593, true), (623, true), (732, true), (755, true), (780, true), (783, true), (816, true), (825, true), (838, true), (840, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [266, 280, 283, 288, 327, 363, 573, 576, 582], provide: [(176, true), (177, true), (195, true), (198, true), (218, true), (235, true), (244, true), (531, true), (533, true), (644, true), (719, true), (785, true), (800, true), (803, true), (812, true), (824, true), (256, true), (392, true), (396, true), (542, true), (560, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(266, true), (280, true), (283, true), (288, true), (327, true), (363, true), (573, true), (576, true), (582, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {21, 176, 177, 195, 198, 218, 235, 244, 256, 392, 396, 400, 419, 436, 463, 476, 512, 531, 533, 542, 560, 644, 676, 679, 719, 785, 800, 803, 812, 824, 858, 982} + [984, 989, 12, 13, 24, 33, 44, 45, 97, 103, 155, 402, 426, 433, 450, 454, 480, 491, 505, 507, 649, 652, 658, 667, 686, 714, 856, 859, 896, 927, 940, 960, 968, 171, 188, 192, 213, 224, 255, 525, 593, 623, 732, 755, 780, 783, 816, 825, 838, 840, 266, 280, 283, 288, 327, 363, 573, 576, 582] [INFO] [stdout] b all: {12, 13, 24, 33, 44, 45, 97, 103, 155, 171, 188, 192, 213, 224, 255, 266, 280, 283, 288, 327, 363, 402, 426, 433, 450, 454, 480, 491, 505, 507, 512, 525, 573, 576, 582, 593, 623, 649, 652, 658, 667, 686, 714, 732, 755, 780, 783, 816, 825, 838, 840, 856, 859, 896, 927, 940, 960, 968, 984, 989} + [21, 400, 419, 436, 463, 476, 676, 679, 858, 982, 176, 177, 195, 198, 218, 235, 244, 531, 533, 644, 719, 785, 800, 803, 812, 824, 256, 392, 396, 542, 560] [INFO] [stdout] [INFO] [stdout] all vec: [12, 13, 21, 24, 33, 44, 45, 97, 103, 155, 171, 176, 177, 188, 192, 195, 198, 213, 218, 224, 235, 244, 255, 256, 266, 280, 283, 288, 327, 363, 392, 396, 400, 402, 419, 426, 433, 436, 450, 454, 463, 476, 480, 491, 505, 507, 512, 525, 531, 533, 542, 560, 573, 576, 582, 593, 623, 644, 649, 652, 658, 667, 676, 679, 686, 714, 719, 732, 755, 780, 783, 785, 800, 803, 812, 816, 824, 825, 838, 840, 856, 858, 859, 896, 927, 940, 960, 968, 982, 984, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [12, 13, 21, 24, 33, 44, 45, 97, 103, 155, 171, 176, 177, 188, 192, 195, 198, 213, 218, 224, 235, 244, 255, 256, 266, 280, 283, 288, 327, 363, 392, 396, 400, 402, 419, 426, 433, 436, 450, 454, 463, 476, 480, 491, 505, 507, 512, 525, 531, 533, 542, 560, 573, 576, 582, 593, 623, 644, 649, 652, 658, 667, 676, 679, 686, 714, 719, 732, 755, 780, 783, 785, 800, 803, 812, 816, 824, 825, 838, 840, 856, 858, 859, 896, 927, 940, 960, 968, 982, 984, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [12, 13, 21, 24, 33, 44, 45, 97, 103, 155, 171, 176, 177, 188, 192, 195, 198, 213, 218, 224, 235, 244, 255, 256, 266, 280, 283, 288, 327, 363, 392, 396, 400, 402, 419, 426, 433, 436, 450, 454, 463, 476, 480, 491, 505, 507, 512, 525, 531, 533, 542, 560, 573, 576, 582, 593, 623, 644, 649, 652, 658, 667, 676, 679, 686, 714, 719, 732, 755, 780, 783, 785, 800, 803, 812, 816, 824, 825, 838, 840, 856, 858, 859, 896, 927, 940, 960, 968, 982, 984, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {31, 41, 51, 85, 133, 136, 152, 159, 181, 194, 199, 283, 307, 309, 455, 514, 565, 595, 602, 606, 620, 677, 684, 703, 719, 722, 842, 856, 860, 875} [INFO] [stdout] b items: {31, 44, 83, 95, 97, 104, 117, 131, 143, 157, 166, 167, 184, 189, 201, 228, 232, 239, 251, 270, 277, 279, 307, 338, 352, 364, 466, 473, 480, 493, 519, 530, 535, 552, 556, 563, 570, 575, 578, 581, 598, 622, 638, 680, 685, 690, 708, 721, 731, 734, 736, 782, 783, 812, 813, 832, 850, 858, 864, 866, 904, 908, 933, 958, 989} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(31, 876), fp: EncodedCountingMonoid(30, SumMonoid(13156)) }], item_sets: [ItemSet { range: Range(876, 31), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(31, 519), fp: EncodedCountingMonoid(30, SumMonoid(6958)) }, Fingerprint { range: Range(519, 876), fp: EncodedCountingMonoid(30, SumMonoid(20562)) }], item_sets: [ItemSet { range: Range(876, 31), items: [904, 908, 933, 958, 989], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(31, 181), fp: EncodedCountingMonoid(8, SumMonoid(788)) }, Fingerprint { range: Range(181, 519), fp: EncodedCountingMonoid(8, SumMonoid(2442)) }, Fingerprint { range: Range(519, 703), fp: EncodedCountingMonoid(7, SumMonoid(4349)) }, Fingerprint { range: Range(703, 876), fp: EncodedCountingMonoid(7, SumMonoid(5577)) }], item_sets: [], wants: [904, 908, 933, 958, 989], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(31, 117), fp: EncodedCountingMonoid(6, SumMonoid(454)) }, Fingerprint { range: Range(117, 181), fp: EncodedCountingMonoid(6, SumMonoid(881)) }, Fingerprint { range: Range(181, 279), fp: EncodedCountingMonoid(9, SumMonoid(2071)) }, Fingerprint { range: Range(279, 519), fp: EncodedCountingMonoid(9, SumMonoid(3552)) }, Fingerprint { range: Range(519, 578), fp: EncodedCountingMonoid(8, SumMonoid(4400)) }, Fingerprint { range: Range(578, 703), fp: EncodedCountingMonoid(8, SumMonoid(5072)) }, Fingerprint { range: Range(703, 812), fp: EncodedCountingMonoid(7, SumMonoid(5195)) }, Fingerprint { range: Range(812, 876), fp: EncodedCountingMonoid(7, SumMonoid(5895)) }], item_sets: [], wants: [], provide: [(904, true), (908, true), (933, true), (958, true), (989, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(279, 455), fp: EncodedCountingMonoid(3, SumMonoid(899)) }, Fingerprint { range: Range(578, 620), fp: EncodedCountingMonoid(3, SumMonoid(1803)) }, Fingerprint { range: Range(620, 703), fp: EncodedCountingMonoid(3, SumMonoid(1981)) }], item_sets: [ItemSet { range: Range(31, 51), items: [31, 41], want_response: true }, ItemSet { range: Range(51, 117), items: [51, 85], want_response: true }, ItemSet { range: Range(117, 152), items: [133, 136], want_response: true }, ItemSet { range: Range(152, 181), items: [152, 159], want_response: true }, ItemSet { range: Range(181, 199), items: [181, 194], want_response: true }, ItemSet { range: Range(199, 279), items: [199], want_response: true }, ItemSet { range: Range(455, 519), items: [455, 514], want_response: true }, ItemSet { range: Range(519, 578), items: [565], want_response: true }, ItemSet { range: Range(703, 722), items: [703, 719], want_response: true }, ItemSet { range: Range(722, 812), items: [722], want_response: true }, ItemSet { range: Range(812, 860), items: [842, 856], want_response: true }, ItemSet { range: Range(860, 876), items: [860, 875], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(279, 352), fp: EncodedCountingMonoid(3, SumMonoid(924)) }, Fingerprint { range: Range(620, 685), fp: EncodedCountingMonoid(3, SumMonoid(1940)) }], item_sets: [ItemSet { range: Range(31, 51), items: [31, 44], want_response: false }, ItemSet { range: Range(51, 117), items: [83, 95, 97, 104], want_response: false }, ItemSet { range: Range(117, 152), items: [117, 131, 143], want_response: false }, ItemSet { range: Range(152, 181), items: [157, 166, 167], want_response: false }, ItemSet { range: Range(181, 199), items: [184, 189], want_response: false }, ItemSet { range: Range(199, 279), items: [201, 228, 232, 239, 251, 270, 277], want_response: false }, ItemSet { range: Range(455, 519), items: [466, 473, 480, 493], want_response: false }, ItemSet { range: Range(519, 578), items: [519, 530, 535, 552, 556, 563, 570, 575], want_response: false }, ItemSet { range: Range(703, 722), items: [708, 721], want_response: false }, ItemSet { range: Range(722, 812), items: [731, 734, 736, 782, 783], want_response: false }, ItemSet { range: Range(812, 860), items: [812, 813, 832, 850, 858], want_response: false }, ItemSet { range: Range(860, 876), items: [864, 866], want_response: false }, ItemSet { range: Range(352, 455), items: [352, 364], want_response: true }, ItemSet { range: Range(578, 598), items: [578, 581], want_response: true }, ItemSet { range: Range(598, 620), items: [598], want_response: true }, ItemSet { range: Range(685, 703), items: [685, 690], want_response: true }], wants: [41, 51, 85, 133, 136, 152, 159, 181, 194, 199, 455, 514, 565, 703, 719, 722, 842, 856, 860, 875], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(352, 455), items: [], want_response: false }, ItemSet { range: Range(578, 598), items: [595], want_response: false }, ItemSet { range: Range(598, 620), items: [602, 606], want_response: false }, ItemSet { range: Range(685, 703), items: [], want_response: false }, ItemSet { range: Range(279, 309), items: [283, 307], want_response: true }, ItemSet { range: Range(309, 352), items: [309], want_response: true }, ItemSet { range: Range(620, 684), items: [620, 677], want_response: true }, ItemSet { range: Range(684, 685), items: [684], want_response: true }], wants: [44, 83, 95, 97, 104, 117, 131, 143, 157, 166, 167, 184, 189, 201, 228, 232, 239, 251, 270, 277, 466, 473, 480, 493, 519, 530, 535, 552, 556, 563, 570, 575, 708, 721, 731, 734, 736, 782, 783, 812, 813, 832, 850, 858, 864, 866, 352, 364, 578, 581, 598, 685, 690], provide: [(41, true), (51, true), (85, true), (133, true), (136, true), (152, true), (159, true), (181, true), (194, true), (199, true), (455, true), (514, true), (565, true), (703, true), (719, true), (722, true), (842, true), (856, true), (860, true), (875, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(279, 309), items: [279, 307], want_response: false }, ItemSet { range: Range(309, 352), items: [338], want_response: false }, ItemSet { range: Range(620, 684), items: [622, 638, 680], want_response: false }, ItemSet { range: Range(684, 685), items: [], want_response: false }], wants: [595, 602, 606, 283, 309, 620, 677, 684], provide: [(44, true), (83, true), (95, true), (97, true), (104, true), (117, true), (131, true), (143, true), (157, true), (166, true), (167, true), (184, true), (189, true), (201, true), (228, true), (232, true), (239, true), (251, true), (270, true), (277, true), (466, true), (473, true), (480, true), (493, true), (519, true), (530, true), (535, true), (552, true), (556, true), (563, true), (570, true), (575, true), (708, true), (721, true), (731, true), (734, true), (736, true), (782, true), (783, true), (812, true), (813, true), (832, true), (850, true), (858, true), (864, true), (866, true), (352, true), (364, true), (578, true), (581, true), (598, true), (685, true), (690, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [279, 338, 622, 638, 680], provide: [(595, true), (602, true), (606, true), (283, true), (309, true), (620, true), (677, true), (684, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(279, true), (338, true), (622, true), (638, true), (680, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {31, 41, 51, 85, 133, 136, 152, 159, 181, 194, 199, 283, 307, 309, 455, 514, 565, 595, 602, 606, 620, 677, 684, 703, 719, 722, 842, 856, 860, 875} + [904, 908, 933, 958, 989, 44, 83, 95, 97, 104, 117, 131, 143, 157, 166, 167, 184, 189, 201, 228, 232, 239, 251, 270, 277, 466, 473, 480, 493, 519, 530, 535, 552, 556, 563, 570, 575, 708, 721, 731, 734, 736, 782, 783, 812, 813, 832, 850, 858, 864, 866, 352, 364, 578, 581, 598, 685, 690, 279, 338, 622, 638, 680] [INFO] [stdout] b all: {31, 44, 83, 95, 97, 104, 117, 131, 143, 157, 166, 167, 184, 189, 201, 228, 232, 239, 251, 270, 277, 279, 307, 338, 352, 364, 466, 473, 480, 493, 519, 530, 535, 552, 556, 563, 570, 575, 578, 581, 598, 622, 638, 680, 685, 690, 708, 721, 731, 734, 736, 782, 783, 812, 813, 832, 850, 858, 864, 866, 904, 908, 933, 958, 989} + [41, 51, 85, 133, 136, 152, 159, 181, 194, 199, 455, 514, 565, 703, 719, 722, 842, 856, 860, 875, 595, 602, 606, 283, 309, 620, 677, 684] [INFO] [stdout] [INFO] [stdout] all vec: [31, 41, 44, 51, 83, 85, 95, 97, 104, 117, 131, 133, 136, 143, 152, 157, 159, 166, 167, 181, 184, 189, 194, 199, 201, 228, 232, 239, 251, 270, 277, 279, 283, 307, 309, 338, 352, 364, 455, 466, 473, 480, 493, 514, 519, 530, 535, 552, 556, 563, 565, 570, 575, 578, 581, 595, 598, 602, 606, 620, 622, 638, 677, 680, 684, 685, 690, 703, 708, 719, 721, 722, 731, 734, 736, 782, 783, 812, 813, 832, 842, 850, 856, 858, 860, 864, 866, 875, 904, 908, 933, 958, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [31, 41, 44, 51, 83, 85, 95, 97, 104, 117, 131, 133, 136, 143, 152, 157, 159, 166, 167, 181, 184, 189, 194, 199, 201, 228, 232, 239, 251, 270, 277, 279, 283, 307, 309, 338, 352, 364, 455, 466, 473, 480, 493, 514, 519, 530, 535, 552, 556, 563, 565, 570, 575, 578, 581, 595, 598, 602, 606, 620, 622, 638, 677, 680, 684, 685, 690, 703, 708, 719, 721, 722, 731, 734, 736, 782, 783, 812, 813, 832, 842, 850, 856, 858, 860, 864, 866, 875, 904, 908, 933, 958, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [31, 41, 44, 51, 83, 85, 95, 97, 104, 117, 131, 133, 136, 143, 152, 157, 159, 166, 167, 181, 184, 189, 194, 199, 201, 228, 232, 239, 251, 270, 277, 279, 283, 307, 309, 338, 352, 364, 455, 466, 473, 480, 493, 514, 519, 530, 535, 552, 556, 563, 565, 570, 575, 578, 581, 595, 598, 602, 606, 620, 622, 638, 677, 680, 684, 685, 690, 703, 708, 719, 721, 722, 731, 734, 736, 782, 783, 812, 813, 832, 842, 850, 856, 858, 860, 864, 866, 875, 904, 908, 933, 958, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {4, 9, 13, 33, 47, 51, 53, 72, 73, 93, 103, 116, 118, 123, 125, 172, 174, 181, 235, 236, 241, 318, 320, 321, 323, 325, 334, 352, 353, 358, 365, 366, 378, 385, 404, 413, 424, 434, 439, 464, 472, 487, 491, 505, 511, 521, 548, 559, 592, 600, 623, 641, 644, 656, 691, 694, 707, 708, 717, 737, 743, 752, 762, 763, 773, 791, 792, 800, 839, 883, 916, 919, 939, 946, 948} [INFO] [stdout] b items: {11, 22, 31, 32, 46, 64, 77, 173, 177, 179, 185, 187, 189, 212, 226, 228, 233, 296, 323, 394, 451, 464, 471, 540, 566, 570, 611, 624, 640, 652, 736, 767, 848, 869, 880, 902, 945, 960} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 949), fp: EncodedCountingMonoid(75, SumMonoid(34018)) }], item_sets: [ItemSet { range: Range(949, 4), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 394), fp: EncodedCountingMonoid(19, SumMonoid(2891)) }, Fingerprint { range: Range(394, 949), fp: EncodedCountingMonoid(18, SumMonoid(11930)) }], item_sets: [ItemSet { range: Range(949, 4), items: [960], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 181), fp: EncodedCountingMonoid(17, SumMonoid(1379)) }, Fingerprint { range: Range(181, 394), fp: EncodedCountingMonoid(17, SumMonoid(5391)) }, Fingerprint { range: Range(394, 694), fp: EncodedCountingMonoid(21, SumMonoid(11119)) }, Fingerprint { range: Range(694, 949), fp: EncodedCountingMonoid(20, SumMonoid(16129)) }], item_sets: [], wants: [960], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 64), fp: EncodedCountingMonoid(5, SumMonoid(142)) }, Fingerprint { range: Range(64, 181), fp: EncodedCountingMonoid(5, SumMonoid(670)) }, Fingerprint { range: Range(181, 228), fp: EncodedCountingMonoid(5, SumMonoid(999)) }, Fingerprint { range: Range(228, 394), fp: EncodedCountingMonoid(4, SumMonoid(1080)) }, Fingerprint { range: Range(394, 570), fp: EncodedCountingMonoid(6, SumMonoid(2886)) }, Fingerprint { range: Range(570, 694), fp: EncodedCountingMonoid(5, SumMonoid(3097)) }, Fingerprint { range: Range(694, 880), fp: EncodedCountingMonoid(4, SumMonoid(3220)) }, Fingerprint { range: Range(880, 949), fp: EncodedCountingMonoid(3, SumMonoid(2727)) }], item_sets: [], wants: [], provide: [(960, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 47), fp: EncodedCountingMonoid(4, SumMonoid(59)) }, Fingerprint { range: Range(47, 64), fp: EncodedCountingMonoid(3, SumMonoid(151)) }, Fingerprint { range: Range(64, 118), fp: EncodedCountingMonoid(5, SumMonoid(457)) }, Fingerprint { range: Range(118, 181), fp: EncodedCountingMonoid(5, SumMonoid(712)) }, Fingerprint { range: Range(228, 334), fp: EncodedCountingMonoid(8, SumMonoid(2319)) }, Fingerprint { range: Range(334, 394), fp: EncodedCountingMonoid(8, SumMonoid(2891)) }, Fingerprint { range: Range(394, 487), fp: EncodedCountingMonoid(7, SumMonoid(3050)) }, Fingerprint { range: Range(487, 570), fp: EncodedCountingMonoid(7, SumMonoid(3622)) }, Fingerprint { range: Range(570, 644), fp: EncodedCountingMonoid(4, SumMonoid(2456)) }, Fingerprint { range: Range(644, 694), fp: EncodedCountingMonoid(3, SumMonoid(1991)) }, Fingerprint { range: Range(694, 762), fp: EncodedCountingMonoid(7, SumMonoid(5058)) }, Fingerprint { range: Range(762, 880), fp: EncodedCountingMonoid(7, SumMonoid(5520)) }, Fingerprint { range: Range(880, 939), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }, Fingerprint { range: Range(939, 949), fp: EncodedCountingMonoid(3, SumMonoid(2833)) }], item_sets: [ItemSet { range: Range(181, 228), items: [181], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 32), fp: EncodedCountingMonoid(3, SumMonoid(64)) }], item_sets: [ItemSet { range: Range(181, 228), items: [185, 187, 189, 212, 226], want_response: false }, ItemSet { range: Range(32, 47), items: [32, 46], want_response: true }, ItemSet { range: Range(47, 64), items: [], want_response: true }, ItemSet { range: Range(64, 118), items: [64, 77], want_response: true }, ItemSet { range: Range(118, 179), items: [173, 177], want_response: true }, ItemSet { range: Range(179, 181), items: [179], want_response: true }, ItemSet { range: Range(228, 296), items: [228, 233], want_response: true }, ItemSet { range: Range(296, 334), items: [296, 323], want_response: true }, ItemSet { range: Range(334, 394), items: [], want_response: true }, ItemSet { range: Range(394, 464), items: [394, 451], want_response: true }, ItemSet { range: Range(464, 487), items: [464, 471], want_response: true }, ItemSet { range: Range(487, 570), items: [540, 566], want_response: true }, ItemSet { range: Range(570, 624), items: [570, 611], want_response: true }, ItemSet { range: Range(624, 644), items: [624, 640], want_response: true }, ItemSet { range: Range(644, 694), items: [652], want_response: true }, ItemSet { range: Range(694, 762), items: [736], want_response: true }, ItemSet { range: Range(762, 869), items: [767, 848], want_response: true }, ItemSet { range: Range(869, 880), items: [869], want_response: true }, ItemSet { range: Range(880, 939), items: [880, 902], want_response: true }, ItemSet { range: Range(939, 949), items: [945], want_response: true }], wants: [181], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(32, 47), items: [33], want_response: false }, ItemSet { range: Range(47, 64), items: [47, 51, 53], want_response: false }, ItemSet { range: Range(64, 118), items: [72, 73, 93, 103, 116], want_response: false }, ItemSet { range: Range(118, 179), items: [118, 123, 125, 172, 174], want_response: false }, ItemSet { range: Range(179, 181), items: [], want_response: false }, ItemSet { range: Range(228, 296), items: [235, 236, 241], want_response: false }, ItemSet { range: Range(296, 334), items: [318, 320, 321, 323, 325], want_response: false }, ItemSet { range: Range(334, 394), items: [334, 352, 353, 358, 365, 366, 378, 385], want_response: false }, ItemSet { range: Range(394, 464), items: [404, 413, 424, 434, 439], want_response: false }, ItemSet { range: Range(464, 487), items: [464, 472], want_response: false }, ItemSet { range: Range(487, 570), items: [487, 491, 505, 511, 521, 548, 559], want_response: false }, ItemSet { range: Range(570, 624), items: [592, 600, 623], want_response: false }, ItemSet { range: Range(624, 644), items: [641], want_response: false }, ItemSet { range: Range(644, 694), items: [644, 656, 691], want_response: false }, ItemSet { range: Range(694, 762), items: [694, 707, 708, 717, 737, 743, 752], want_response: false }, ItemSet { range: Range(762, 869), items: [762, 763, 773, 791, 792, 800, 839], want_response: false }, ItemSet { range: Range(869, 880), items: [], want_response: false }, ItemSet { range: Range(880, 939), items: [883, 916, 919], want_response: false }, ItemSet { range: Range(939, 949), items: [939, 946, 948], want_response: false }, ItemSet { range: Range(4, 13), items: [4, 9], want_response: true }, ItemSet { range: Range(13, 32), items: [13], want_response: true }], wants: [185, 187, 189, 212, 226, 32, 46, 64, 77, 173, 177, 179, 228, 233, 296, 394, 451, 471, 540, 566, 570, 611, 624, 640, 652, 736, 767, 848, 869, 880, 902, 945], provide: [(181, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(4, 13), items: [11], want_response: false }, ItemSet { range: Range(13, 32), items: [22, 31], want_response: false }], wants: [33, 47, 51, 53, 72, 73, 93, 103, 116, 118, 123, 125, 172, 174, 235, 236, 241, 318, 320, 321, 325, 334, 352, 353, 358, 365, 366, 378, 385, 404, 413, 424, 434, 439, 472, 487, 491, 505, 511, 521, 548, 559, 592, 600, 623, 641, 644, 656, 691, 694, 707, 708, 717, 737, 743, 752, 762, 763, 773, 791, 792, 800, 839, 883, 916, 919, 939, 946, 948, 4, 9, 13], provide: [(185, true), (187, true), (189, true), (212, true), (226, true), (32, true), (46, true), (64, true), (77, true), (173, true), (177, true), (179, true), (228, true), (233, true), (296, true), (394, true), (451, true), (471, true), (540, true), (566, true), (570, true), (611, true), (624, true), (640, true), (652, true), (736, true), (767, true), (848, true), (869, true), (880, true), (902, true), (945, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [11, 22, 31], provide: [(33, true), (47, true), (51, true), (53, true), (72, true), (73, true), (93, true), (103, true), (116, true), (118, true), (123, true), (125, true), (172, true), (174, true), (235, true), (236, true), (241, true), (318, true), (320, true), (321, true), (325, true), (334, true), (352, true), (353, true), (358, true), (365, true), (366, true), (378, true), (385, true), (404, true), (413, true), (424, true), (434, true), (439, true), (472, true), (487, true), (491, true), (505, true), (511, true), (521, true), (548, true), (559, true), (592, true), (600, true), (623, true), (641, true), (644, true), (656, true), (691, true), (694, true), (707, true), (708, true), (717, true), (737, true), (743, true), (752, true), (762, true), (763, true), (773, true), (791, true), (792, true), (800, true), (839, true), (883, true), (916, true), (919, true), (939, true), (946, true), (948, true), (4, true), (9, true), (13, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(11, true), (22, true), (31, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {4, 9, 13, 33, 47, 51, 53, 72, 73, 93, 103, 116, 118, 123, 125, 172, 174, 181, 235, 236, 241, 318, 320, 321, 323, 325, 334, 352, 353, 358, 365, 366, 378, 385, 404, 413, 424, 434, 439, 464, 472, 487, 491, 505, 511, 521, 548, 559, 592, 600, 623, 641, 644, 656, 691, 694, 707, 708, 717, 737, 743, 752, 762, 763, 773, 791, 792, 800, 839, 883, 916, 919, 939, 946, 948} + [960, 185, 187, 189, 212, 226, 32, 46, 64, 77, 173, 177, 179, 228, 233, 296, 394, 451, 471, 540, 566, 570, 611, 624, 640, 652, 736, 767, 848, 869, 880, 902, 945, 11, 22, 31] [INFO] [stdout] b all: {11, 22, 31, 32, 46, 64, 77, 173, 177, 179, 185, 187, 189, 212, 226, 228, 233, 296, 323, 394, 451, 464, 471, 540, 566, 570, 611, 624, 640, 652, 736, 767, 848, 869, 880, 902, 945, 960} + [181, 33, 47, 51, 53, 72, 73, 93, 103, 116, 118, 123, 125, 172, 174, 235, 236, 241, 318, 320, 321, 325, 334, 352, 353, 358, 365, 366, 378, 385, 404, 413, 424, 434, 439, 472, 487, 491, 505, 511, 521, 548, 559, 592, 600, 623, 641, 644, 656, 691, 694, 707, 708, 717, 737, 743, 752, 762, 763, 773, 791, 792, 800, 839, 883, 916, 919, 939, 946, 948, 4, 9, 13] [INFO] [stdout] [INFO] [stdout] all vec: [4, 9, 11, 13, 22, 31, 32, 33, 46, 47, 51, 53, 64, 72, 73, 77, 93, 103, 116, 118, 123, 125, 172, 173, 174, 177, 179, 181, 185, 187, 189, 212, 226, 228, 233, 235, 236, 241, 296, 318, 320, 321, 323, 325, 334, 352, 353, 358, 365, 366, 378, 385, 394, 404, 413, 424, 434, 439, 451, 464, 471, 472, 487, 491, 505, 511, 521, 540, 548, 559, 566, 570, 592, 600, 611, 623, 624, 640, 641, 644, 652, 656, 691, 694, 707, 708, 717, 736, 737, 743, 752, 762, 763, 767, 773, 791, 792, 800, 839, 848, 869, 880, 883, 902, 916, 919, 939, 945, 946, 948, 960] [INFO] [stdout] [INFO] [stdout] a all vec: [4, 9, 11, 13, 22, 31, 32, 33, 46, 47, 51, 53, 64, 72, 73, 77, 93, 103, 116, 118, 123, 125, 172, 173, 174, 177, 179, 181, 185, 187, 189, 212, 226, 228, 233, 235, 236, 241, 296, 318, 320, 321, 323, 325, 334, 352, 353, 358, 365, 366, 378, 385, 394, 404, 413, 424, 434, 439, 451, 464, 471, 472, 487, 491, 505, 511, 521, 540, 548, 559, 566, 570, 592, 600, 611, 623, 624, 640, 641, 644, 652, 656, 691, 694, 707, 708, 717, 736, 737, 743, 752, 762, 763, 767, 773, 791, 792, 800, 839, 848, 869, 880, 883, 902, 916, 919, 939, 945, 946, 948, 960], true true [INFO] [stdout] [INFO] [stdout] b all vec: [4, 9, 11, 13, 22, 31, 32, 33, 46, 47, 51, 53, 64, 72, 73, 77, 93, 103, 116, 118, 123, 125, 172, 173, 174, 177, 179, 181, 185, 187, 189, 212, 226, 228, 233, 235, 236, 241, 296, 318, 320, 321, 323, 325, 334, 352, 353, 358, 365, 366, 378, 385, 394, 404, 413, 424, 434, 439, 451, 464, 471, 472, 487, 491, 505, 511, 521, 540, 548, 559, 566, 570, 592, 600, 611, 623, 624, 640, 641, 644, 652, 656, 691, 694, 707, 708, 717, 736, 737, 743, 752, 762, 763, 767, 773, 791, 792, 800, 839, 848, 869, 880, 883, 902, 916, 919, 939, 945, 946, 948, 960], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {112, 283, 346, 552, 593, 609, 616, 654, 858, 965} [INFO] [stdout] b items: {104, 145, 242, 434, 471, 483} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(112, 966), fp: EncodedCountingMonoid(10, SumMonoid(5588)) }], item_sets: [ItemSet { range: Range(966, 112), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(112, 471), fp: EncodedCountingMonoid(3, SumMonoid(821)) }], item_sets: [ItemSet { range: Range(966, 112), items: [104], want_response: false }, ItemSet { range: Range(471, 966), items: [471, 483], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(471, 966), items: [552, 593, 609, 616, 654, 858, 965], want_response: false }, ItemSet { range: Range(112, 346), items: [112, 283], want_response: true }, ItemSet { range: Range(346, 471), items: [346], want_response: true }], wants: [104, 471, 483], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(112, 346), items: [145, 242], want_response: false }, ItemSet { range: Range(346, 471), items: [434], want_response: false }], wants: [552, 593, 609, 616, 654, 858, 965, 112, 283, 346], provide: [(104, true), (471, true), (483, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [145, 242, 434], provide: [(552, true), (593, true), (609, true), (616, true), (654, true), (858, true), (965, true), (112, true), (283, true), (346, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(145, true), (242, true), (434, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {112, 283, 346, 552, 593, 609, 616, 654, 858, 965} + [104, 471, 483, 145, 242, 434] [INFO] [stdout] b all: {104, 145, 242, 434, 471, 483} + [552, 593, 609, 616, 654, 858, 965, 112, 283, 346] [INFO] [stdout] [INFO] [stdout] all vec: [104, 112, 145, 242, 283, 346, 434, 471, 483, 552, 593, 609, 616, 654, 858, 965] [INFO] [stdout] [INFO] [stdout] a all vec: [104, 112, 145, 242, 283, 346, 434, 471, 483, 552, 593, 609, 616, 654, 858, 965], true true [INFO] [stdout] [INFO] [stdout] b all vec: [104, 112, 145, 242, 283, 346, 434, 471, 483, 552, 593, 609, 616, 654, 858, 965], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {23, 164, 305, 371, 576, 693, 747, 768, 812} [INFO] [stdout] b items: {43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 310, 324, 345, 366, 372, 379, 390, 393, 408, 410, 412, 429, 433, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 694, 697, 700, 703, 711, 732, 738, 740, 758, 767, 770, 774, 776, 780, 803, 807, 838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(23, 813), fp: EncodedCountingMonoid(9, SumMonoid(4459)) }], item_sets: [ItemSet { range: Range(813, 23), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(23, 436), fp: EncodedCountingMonoid(41, SumMonoid(9068)) }, Fingerprint { range: Range(436, 813), fp: EncodedCountingMonoid(41, SumMonoid(25685)) }], item_sets: [ItemSet { range: Range(813, 23), items: [838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(436, 768), fp: EncodedCountingMonoid(3, SumMonoid(2016)) }], item_sets: [ItemSet { range: Range(23, 305), items: [23, 164], want_response: true }, ItemSet { range: Range(305, 436), items: [305, 371], want_response: true }, ItemSet { range: Range(768, 813), items: [768, 812], want_response: true }], wants: [838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(436, 599), fp: EncodedCountingMonoid(18, SumMonoid(9320)) }, Fingerprint { range: Range(599, 768), fp: EncodedCountingMonoid(17, SumMonoid(11655)) }], item_sets: [ItemSet { range: Range(23, 305), items: [43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287], want_response: false }, ItemSet { range: Range(305, 436), items: [310, 324, 345, 366, 372, 379, 390, 393, 408, 410, 412, 429, 433], want_response: false }, ItemSet { range: Range(768, 813), items: [770, 774, 776, 780, 803, 807], want_response: false }], wants: [23, 164, 305, 371, 768, 812], provide: [(838, true), (847, true), (856, true), (864, true), (878, true), (892, true), (895, true), (907, true), (931, true), (959, true), (964, true), (966, true), (971, true), (989, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(436, 599), items: [576], want_response: true }, ItemSet { range: Range(599, 768), items: [693, 747], want_response: true }], wants: [43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 310, 324, 345, 366, 372, 379, 390, 393, 408, 410, 412, 429, 433, 770, 774, 776, 780, 803, 807], provide: [(23, true), (164, true), (305, true), (371, true), (768, true), (812, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(436, 599), items: [436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 579, 580, 583, 593, 595, 597], want_response: false }, ItemSet { range: Range(599, 768), items: [599, 608, 612, 618, 653, 654, 671, 694, 697, 700, 703, 711, 732, 738, 740, 758, 767], want_response: false }], wants: [576, 693, 747], provide: [(43, true), (54, true), (56, true), (57, true), (59, true), (63, true), (75, true), (96, true), (98, true), (103, true), (113, true), (119, true), (136, true), (139, true), (146, true), (150, true), (152, true), (160, true), (168, true), (173, true), (176, true), (193, true), (224, true), (235, true), (270, true), (274, true), (278, true), (287, true), (310, true), (324, true), (345, true), (366, true), (372, true), (379, true), (390, true), (393, true), (408, true), (410, true), (412, true), (429, true), (433, true), (770, true), (774, true), (776, true), (780, true), (803, true), (807, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 694, 697, 700, 703, 711, 732, 738, 740, 758, 767], provide: [(576, true), (693, true), (747, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(436, true), (440, true), (449, true), (458, true), (468, true), (479, true), (495, true), (496, true), (503, true), (512, true), (518, true), (539, true), (579, true), (580, true), (583, true), (593, true), (595, true), (597, true), (599, true), (608, true), (612, true), (618, true), (653, true), (654, true), (671, true), (694, true), (697, true), (700, true), (703, true), (711, true), (732, true), (738, true), (740, true), (758, true), (767, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {23, 164, 305, 371, 576, 693, 747, 768, 812} + [838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989, 43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 310, 324, 345, 366, 372, 379, 390, 393, 408, 410, 412, 429, 433, 770, 774, 776, 780, 803, 807, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 694, 697, 700, 703, 711, 732, 738, 740, 758, 767] [INFO] [stdout] b all: {43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 310, 324, 345, 366, 372, 379, 390, 393, 408, 410, 412, 429, 433, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 694, 697, 700, 703, 711, 732, 738, 740, 758, 767, 770, 774, 776, 780, 803, 807, 838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989} + [23, 164, 305, 371, 768, 812, 576, 693, 747] [INFO] [stdout] [INFO] [stdout] all vec: [23, 43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 164, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 305, 310, 324, 345, 366, 371, 372, 379, 390, 393, 408, 410, 412, 429, 433, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 576, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 693, 694, 697, 700, 703, 711, 732, 738, 740, 747, 758, 767, 768, 770, 774, 776, 780, 803, 807, 812, 838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [23, 43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 164, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 305, 310, 324, 345, 366, 371, 372, 379, 390, 393, 408, 410, 412, 429, 433, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 576, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 693, 694, 697, 700, 703, 711, 732, 738, 740, 747, 758, 767, 768, 770, 774, 776, 780, 803, 807, 812, 838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [23, 43, 54, 56, 57, 59, 63, 75, 96, 98, 103, 113, 119, 136, 139, 146, 150, 152, 160, 164, 168, 173, 176, 193, 224, 235, 270, 274, 278, 287, 305, 310, 324, 345, 366, 371, 372, 379, 390, 393, 408, 410, 412, 429, 433, 436, 440, 449, 458, 468, 479, 495, 496, 503, 512, 518, 539, 576, 579, 580, 583, 593, 595, 597, 599, 608, 612, 618, 653, 654, 671, 693, 694, 697, 700, 703, 711, 732, 738, 740, 747, 758, 767, 768, 770, 774, 776, 780, 803, 807, 812, 838, 847, 856, 864, 878, 892, 895, 907, 931, 959, 964, 966, 971, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 23, 29, 40, 85, 87, 103, 104, 163, 193, 273, 276, 321, 328, 375, 395, 412, 438, 451, 452, 454, 465, 508, 510, 536, 537, 592, 624, 627, 636, 668, 686, 781, 789, 812, 878, 939, 942, 945, 961} [INFO] [stdout] b items: {1, 3, 10, 13, 32, 35, 73, 74, 82, 83, 99, 108, 118, 119, 136, 148, 169, 175, 177, 219, 241, 252, 260, 264, 270, 274, 278, 279, 290, 302, 318, 321, 322, 340, 409, 415, 426, 429, 462, 469, 505, 513, 530, 544, 560, 564, 565, 604, 608, 609, 611, 622, 656, 677, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 795, 806, 807, 817, 818, 827, 847, 849, 862, 873, 881, 894, 899, 903, 905, 916, 975, 980, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 962), fp: EncodedCountingMonoid(40, SumMonoid(18441)) }], item_sets: [ItemSet { range: Range(962, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 513), fp: EncodedCountingMonoid(40, SumMonoid(8999)) }, Fingerprint { range: Range(513, 962), fp: EncodedCountingMonoid(40, SumMonoid(29342)) }], item_sets: [ItemSet { range: Range(962, 3), items: [975, 980, 999, 1], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 321), fp: EncodedCountingMonoid(12, SumMonoid(1379)) }, Fingerprint { range: Range(321, 513), fp: EncodedCountingMonoid(12, SumMonoid(5109)) }, Fingerprint { range: Range(513, 781), fp: EncodedCountingMonoid(8, SumMonoid(4906)) }, Fingerprint { range: Range(781, 962), fp: EncodedCountingMonoid(8, SumMonoid(7047)) }], item_sets: [], wants: [975, 980, 999, 1], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 169), fp: EncodedCountingMonoid(15, SumMonoid(1133)) }, Fingerprint { range: Range(169, 321), fp: EncodedCountingMonoid(15, SumMonoid(3768)) }, Fingerprint { range: Range(321, 426), fp: EncodedCountingMonoid(5, SumMonoid(1807)) }, Fingerprint { range: Range(426, 513), fp: EncodedCountingMonoid(5, SumMonoid(2291)) }, Fingerprint { range: Range(513, 677), fp: EncodedCountingMonoid(12, SumMonoid(6986)) }, Fingerprint { range: Range(677, 781), fp: EncodedCountingMonoid(12, SumMonoid(8657)) }, Fingerprint { range: Range(781, 862), fp: EncodedCountingMonoid(8, SumMonoid(6566)) }, Fingerprint { range: Range(862, 962), fp: EncodedCountingMonoid(8, SumMonoid(7133)) }], item_sets: [], wants: [], provide: [(975, true), (980, true), (999, true), (1, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 87), fp: EncodedCountingMonoid(5, SumMonoid(180)) }, Fingerprint { range: Range(87, 169), fp: EncodedCountingMonoid(4, SumMonoid(457)) }, Fingerprint { range: Range(321, 395), fp: EncodedCountingMonoid(3, SumMonoid(1024)) }, Fingerprint { range: Range(426, 465), fp: EncodedCountingMonoid(4, SumMonoid(1795)) }, Fingerprint { range: Range(465, 513), fp: EncodedCountingMonoid(3, SumMonoid(1483)) }, Fingerprint { range: Range(513, 627), fp: EncodedCountingMonoid(4, SumMonoid(2289)) }, Fingerprint { range: Range(627, 677), fp: EncodedCountingMonoid(3, SumMonoid(1931)) }, Fingerprint { range: Range(862, 945), fp: EncodedCountingMonoid(3, SumMonoid(2759)) }], item_sets: [ItemSet { range: Range(169, 276), items: [193, 273], want_response: true }, ItemSet { range: Range(276, 321), items: [276], want_response: true }, ItemSet { range: Range(395, 426), items: [395, 412], want_response: true }, ItemSet { range: Range(677, 781), items: [686], want_response: true }, ItemSet { range: Range(781, 812), items: [781, 789], want_response: true }, ItemSet { range: Range(812, 862), items: [812], want_response: true }, ItemSet { range: Range(945, 962), items: [945, 961], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 73), fp: EncodedCountingMonoid(5, SumMonoid(93)) }, Fingerprint { range: Range(73, 87), fp: EncodedCountingMonoid(4, SumMonoid(312)) }, Fingerprint { range: Range(87, 119), fp: EncodedCountingMonoid(3, SumMonoid(325)) }, Fingerprint { range: Range(119, 169), fp: EncodedCountingMonoid(3, SumMonoid(403)) }, Fingerprint { range: Range(513, 604), fp: EncodedCountingMonoid(6, SumMonoid(3276)) }, Fingerprint { range: Range(604, 627), fp: EncodedCountingMonoid(5, SumMonoid(3054)) }, Fingerprint { range: Range(862, 899), fp: EncodedCountingMonoid(4, SumMonoid(3510)) }, Fingerprint { range: Range(899, 945), fp: EncodedCountingMonoid(4, SumMonoid(3623)) }], item_sets: [ItemSet { range: Range(169, 276), items: [169, 175, 177, 219, 241, 252, 260, 264, 270, 274], want_response: false }, ItemSet { range: Range(276, 321), items: [278, 279, 290, 302, 318], want_response: false }, ItemSet { range: Range(395, 426), items: [409, 415], want_response: false }, ItemSet { range: Range(677, 781), items: [677, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759], want_response: false }, ItemSet { range: Range(781, 812), items: [795, 806, 807], want_response: false }, ItemSet { range: Range(812, 862), items: [817, 818, 827, 847, 849], want_response: false }, ItemSet { range: Range(945, 962), items: [], want_response: false }, ItemSet { range: Range(321, 340), items: [321, 322], want_response: true }, ItemSet { range: Range(340, 395), items: [340], want_response: true }, ItemSet { range: Range(426, 462), items: [426, 429], want_response: true }, ItemSet { range: Range(462, 465), items: [462], want_response: true }, ItemSet { range: Range(465, 513), items: [469, 505], want_response: true }, ItemSet { range: Range(627, 677), items: [656], want_response: true }], wants: [193, 273, 276, 395, 412, 686, 781, 789, 812, 945, 961], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(321, 340), items: [321, 328], want_response: false }, ItemSet { range: Range(340, 395), items: [375], want_response: false }, ItemSet { range: Range(426, 462), items: [438, 451, 452, 454], want_response: false }, ItemSet { range: Range(462, 465), items: [], want_response: false }, ItemSet { range: Range(465, 513), items: [465, 508, 510], want_response: false }, ItemSet { range: Range(627, 677), items: [627, 636, 668], want_response: false }, ItemSet { range: Range(3, 29), items: [3, 23], want_response: true }, ItemSet { range: Range(29, 73), items: [29, 40], want_response: true }, ItemSet { range: Range(73, 87), items: [85], want_response: true }, ItemSet { range: Range(87, 104), items: [87, 103], want_response: true }, ItemSet { range: Range(104, 119), items: [104], want_response: true }, ItemSet { range: Range(119, 169), items: [163], want_response: true }, ItemSet { range: Range(513, 592), items: [536, 537], want_response: true }, ItemSet { range: Range(592, 604), items: [592], want_response: true }, ItemSet { range: Range(604, 627), items: [624], want_response: true }, ItemSet { range: Range(862, 899), items: [878], want_response: true }, ItemSet { range: Range(899, 945), items: [939, 942], want_response: true }], wants: [169, 175, 177, 219, 241, 252, 260, 264, 270, 274, 278, 279, 290, 302, 318, 409, 415, 677, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 795, 806, 807, 817, 818, 827, 847, 849, 322, 340, 426, 429, 462, 469, 505, 656], provide: [(193, true), (273, true), (276, true), (395, true), (412, true), (686, true), (781, true), (789, true), (812, true), (945, true), (961, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 29), items: [3, 10, 13], want_response: false }, ItemSet { range: Range(29, 73), items: [32, 35], want_response: false }, ItemSet { range: Range(73, 87), items: [73, 74, 82, 83], want_response: false }, ItemSet { range: Range(87, 104), items: [99], want_response: false }, ItemSet { range: Range(104, 119), items: [108, 118], want_response: false }, ItemSet { range: Range(119, 169), items: [119, 136, 148], want_response: false }, ItemSet { range: Range(513, 592), items: [513, 530, 544, 560, 564, 565], want_response: false }, ItemSet { range: Range(592, 604), items: [], want_response: false }, ItemSet { range: Range(604, 627), items: [604, 608, 609, 611, 622], want_response: false }, ItemSet { range: Range(862, 899), items: [862, 873, 881, 894], want_response: false }, ItemSet { range: Range(899, 945), items: [899, 903, 905, 916], want_response: false }], wants: [328, 375, 438, 451, 452, 454, 465, 508, 510, 627, 636, 668, 23, 29, 40, 85, 87, 103, 104, 163, 536, 537, 592, 624, 878, 939, 942], provide: [(169, true), (175, true), (177, true), (219, true), (241, true), (252, true), (260, true), (264, true), (270, true), (274, true), (278, true), (279, true), (290, true), (302, true), (318, true), (409, true), (415, true), (677, true), (688, true), (691, true), (702, true), (703, true), (719, true), (731, true), (740, true), (746, true), (750, true), (751, true), (759, true), (795, true), (806, true), (807, true), (817, true), (818, true), (827, true), (847, true), (849, true), (322, true), (340, true), (426, true), (429, true), (462, true), (469, true), (505, true), (656, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [10, 13, 32, 35, 73, 74, 82, 83, 99, 108, 118, 119, 136, 148, 513, 530, 544, 560, 564, 565, 604, 608, 609, 611, 622, 862, 873, 881, 894, 899, 903, 905, 916], provide: [(328, true), (375, true), (438, true), (451, true), (452, true), (454, true), (465, true), (508, true), (510, true), (627, true), (636, true), (668, true), (23, true), (29, true), (40, true), (85, true), (87, true), (103, true), (104, true), (163, true), (536, true), (537, true), (592, true), (624, true), (878, true), (939, true), (942, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(10, true), (13, true), (32, true), (35, true), (73, true), (74, true), (82, true), (83, true), (99, true), (108, true), (118, true), (119, true), (136, true), (148, true), (513, true), (530, true), (544, true), (560, true), (564, true), (565, true), (604, true), (608, true), (609, true), (611, true), (622, true), (862, true), (873, true), (881, true), (894, true), (899, true), (903, true), (905, true), (916, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 23, 29, 40, 85, 87, 103, 104, 163, 193, 273, 276, 321, 328, 375, 395, 412, 438, 451, 452, 454, 465, 508, 510, 536, 537, 592, 624, 627, 636, 668, 686, 781, 789, 812, 878, 939, 942, 945, 961} + [975, 980, 999, 1, 169, 175, 177, 219, 241, 252, 260, 264, 270, 274, 278, 279, 290, 302, 318, 409, 415, 677, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 795, 806, 807, 817, 818, 827, 847, 849, 322, 340, 426, 429, 462, 469, 505, 656, 10, 13, 32, 35, 73, 74, 82, 83, 99, 108, 118, 119, 136, 148, 513, 530, 544, 560, 564, 565, 604, 608, 609, 611, 622, 862, 873, 881, 894, 899, 903, 905, 916] [INFO] [stdout] b all: {1, 3, 10, 13, 32, 35, 73, 74, 82, 83, 99, 108, 118, 119, 136, 148, 169, 175, 177, 219, 241, 252, 260, 264, 270, 274, 278, 279, 290, 302, 318, 321, 322, 340, 409, 415, 426, 429, 462, 469, 505, 513, 530, 544, 560, 564, 565, 604, 608, 609, 611, 622, 656, 677, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 795, 806, 807, 817, 818, 827, 847, 849, 862, 873, 881, 894, 899, 903, 905, 916, 975, 980, 999} + [193, 273, 276, 395, 412, 686, 781, 789, 812, 945, 961, 328, 375, 438, 451, 452, 454, 465, 508, 510, 627, 636, 668, 23, 29, 40, 85, 87, 103, 104, 163, 536, 537, 592, 624, 878, 939, 942] [INFO] [stdout] [INFO] [stdout] all vec: [1, 3, 10, 13, 23, 29, 32, 35, 40, 73, 74, 82, 83, 85, 87, 99, 103, 104, 108, 118, 119, 136, 148, 163, 169, 175, 177, 193, 219, 241, 252, 260, 264, 270, 273, 274, 276, 278, 279, 290, 302, 318, 321, 322, 328, 340, 375, 395, 409, 412, 415, 426, 429, 438, 451, 452, 454, 462, 465, 469, 505, 508, 510, 513, 530, 536, 537, 544, 560, 564, 565, 592, 604, 608, 609, 611, 622, 624, 627, 636, 656, 668, 677, 686, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 781, 789, 795, 806, 807, 812, 817, 818, 827, 847, 849, 862, 873, 878, 881, 894, 899, 903, 905, 916, 939, 942, 945, 961, 975, 980, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 3, 10, 13, 23, 29, 32, 35, 40, 73, 74, 82, 83, 85, 87, 99, 103, 104, 108, 118, 119, 136, 148, 163, 169, 175, 177, 193, 219, 241, 252, 260, 264, 270, 273, 274, 276, 278, 279, 290, 302, 318, 321, 322, 328, 340, 375, 395, 409, 412, 415, 426, 429, 438, 451, 452, 454, 462, 465, 469, 505, 508, 510, 513, 530, 536, 537, 544, 560, 564, 565, 592, 604, 608, 609, 611, 622, 624, 627, 636, 656, 668, 677, 686, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 781, 789, 795, 806, 807, 812, 817, 818, 827, 847, 849, 862, 873, 878, 881, 894, 899, 903, 905, 916, 939, 942, 945, 961, 975, 980, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 3, 10, 13, 23, 29, 32, 35, 40, 73, 74, 82, 83, 85, 87, 99, 103, 104, 108, 118, 119, 136, 148, 163, 169, 175, 177, 193, 219, 241, 252, 260, 264, 270, 273, 274, 276, 278, 279, 290, 302, 318, 321, 322, 328, 340, 375, 395, 409, 412, 415, 426, 429, 438, 451, 452, 454, 462, 465, 469, 505, 508, 510, 513, 530, 536, 537, 544, 560, 564, 565, 592, 604, 608, 609, 611, 622, 624, 627, 636, 656, 668, 677, 686, 688, 691, 702, 703, 719, 731, 740, 746, 750, 751, 759, 781, 789, 795, 806, 807, 812, 817, 818, 827, 847, 849, 862, 873, 878, 881, 894, 899, 903, 905, 916, 939, 942, 945, 961, 975, 980, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {31, 44, 49, 108, 114, 121, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978} [INFO] [stdout] b items: {93, 145} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(31, 979), fp: EncodedCountingMonoid(49, SumMonoid(25374)) }], item_sets: [ItemSet { range: Range(979, 31), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(979, 31), items: [], want_response: false }, ItemSet { range: Range(31, 979), items: [93, 145], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(31, 979), items: [31, 44, 49, 108, 114, 121, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978], want_response: false }], wants: [93, 145], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [31, 44, 49, 108, 114, 121, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978], provide: [(93, true), (145, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(31, true), (44, true), (49, true), (108, true), (114, true), (121, true), (183, true), (203, true), (226, true), (231, true), (272, true), (276, true), (280, true), (281, true), (283, true), (298, true), (304, true), (324, true), (334, true), (372, true), (379, true), (390, true), (396, true), (462, true), (477, true), (588, true), (607, true), (620, true), (685, true), (695, true), (698, true), (706, true), (734, true), (740, true), (742, true), (763, true), (783, true), (785, true), (788, true), (811, true), (818, true), (846, true), (890, true), (897, true), (917, true), (922, true), (952, true), (971, true), (978, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {31, 44, 49, 108, 114, 121, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978} + [93, 145] [INFO] [stdout] b all: {93, 145} + [31, 44, 49, 108, 114, 121, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978] [INFO] [stdout] [INFO] [stdout] all vec: [31, 44, 49, 93, 108, 114, 121, 145, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978] [INFO] [stdout] [INFO] [stdout] a all vec: [31, 44, 49, 93, 108, 114, 121, 145, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978], true true [INFO] [stdout] [INFO] [stdout] b all vec: [31, 44, 49, 93, 108, 114, 121, 145, 183, 203, 226, 231, 272, 276, 280, 281, 283, 298, 304, 324, 334, 372, 379, 390, 396, 462, 477, 588, 607, 620, 685, 695, 698, 706, 734, 740, 742, 763, 783, 785, 788, 811, 818, 846, 890, 897, 917, 922, 952, 971, 978], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 17, 57, 63, 111, 167, 184, 187, 229, 240, 257, 278, 327, 375, 413, 416, 426, 439, 501, 521, 524, 536, 546, 552, 579, 582, 584, 596, 614, 639, 657, 671, 678, 715, 735, 742, 758, 779, 794, 796, 985} [INFO] [stdout] b items: {12, 16, 20, 26, 34, 47, 101, 112, 124, 129, 135, 139, 161, 176, 185, 189, 207, 229, 234, 241, 247, 269, 272, 276, 279, 281, 290, 299, 301, 302, 306, 316, 338, 346, 362, 369, 385, 403, 407, 430, 436, 438, 440, 450, 475, 479, 503, 526, 527, 528, 529, 531, 555, 557, 566, 569, 570, 573, 576, 577, 607, 622, 625, 627, 637, 678, 691, 696, 716, 743, 756, 802, 806, 807, 854, 856, 877, 881, 883, 884, 915, 946, 968, 972, 997, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 986), fp: EncodedCountingMonoid(41, SumMonoid(19272)) }], item_sets: [ItemSet { range: Range(986, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 440), fp: EncodedCountingMonoid(42, SumMonoid(9869)) }, Fingerprint { range: Range(440, 986), fp: EncodedCountingMonoid(42, SumMonoid(28380)) }], item_sets: [ItemSet { range: Range(986, 2), items: [997, 998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 240), fp: EncodedCountingMonoid(9, SumMonoid(1017)) }, Fingerprint { range: Range(240, 440), fp: EncodedCountingMonoid(9, SumMonoid(3171)) }, Fingerprint { range: Range(440, 657), fp: EncodedCountingMonoid(12, SumMonoid(6774)) }, Fingerprint { range: Range(657, 986), fp: EncodedCountingMonoid(11, SumMonoid(8310)) }], item_sets: [], wants: [997, 998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 135), fp: EncodedCountingMonoid(10, SumMonoid(621)) }, Fingerprint { range: Range(135, 240), fp: EncodedCountingMonoid(9, SumMonoid(1655)) }, Fingerprint { range: Range(240, 316), fp: EncodedCountingMonoid(12, SumMonoid(3363)) }, Fingerprint { range: Range(316, 440), fp: EncodedCountingMonoid(11, SumMonoid(4230)) }, Fingerprint { range: Range(440, 566), fp: EncodedCountingMonoid(12, SumMonoid(6100)) }, Fingerprint { range: Range(566, 657), fp: EncodedCountingMonoid(11, SumMonoid(6549)) }, Fingerprint { range: Range(657, 856), fp: EncodedCountingMonoid(10, SumMonoid(7549)) }, Fingerprint { range: Range(856, 986), fp: EncodedCountingMonoid(9, SumMonoid(8182)) }], item_sets: [], wants: [], provide: [(997, true), (998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 63), fp: EncodedCountingMonoid(3, SumMonoid(76)) }, Fingerprint { range: Range(316, 416), fp: EncodedCountingMonoid(3, SumMonoid(1115)) }, Fingerprint { range: Range(416, 440), fp: EncodedCountingMonoid(3, SumMonoid(1281)) }, Fingerprint { range: Range(440, 536), fp: EncodedCountingMonoid(3, SumMonoid(1546)) }, Fingerprint { range: Range(536, 566), fp: EncodedCountingMonoid(3, SumMonoid(1634)) }, Fingerprint { range: Range(566, 596), fp: EncodedCountingMonoid(3, SumMonoid(1745)) }, Fingerprint { range: Range(596, 657), fp: EncodedCountingMonoid(3, SumMonoid(1849)) }, Fingerprint { range: Range(657, 742), fp: EncodedCountingMonoid(5, SumMonoid(3456)) }, Fingerprint { range: Range(742, 856), fp: EncodedCountingMonoid(5, SumMonoid(3869)) }], item_sets: [ItemSet { range: Range(63, 135), items: [63, 111], want_response: true }, ItemSet { range: Range(135, 187), items: [167, 184], want_response: true }, ItemSet { range: Range(187, 240), items: [187, 229], want_response: true }, ItemSet { range: Range(240, 278), items: [240, 257], want_response: true }, ItemSet { range: Range(278, 316), items: [278], want_response: true }, ItemSet { range: Range(856, 986), items: [985], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 26), fp: EncodedCountingMonoid(3, SumMonoid(48)) }, Fingerprint { range: Range(26, 63), fp: EncodedCountingMonoid(3, SumMonoid(107)) }, Fingerprint { range: Range(316, 369), fp: EncodedCountingMonoid(4, SumMonoid(1362)) }, Fingerprint { range: Range(369, 416), fp: EncodedCountingMonoid(4, SumMonoid(1564)) }, Fingerprint { range: Range(440, 526), fp: EncodedCountingMonoid(5, SumMonoid(2347)) }, Fingerprint { range: Range(526, 536), fp: EncodedCountingMonoid(5, SumMonoid(2641)) }, Fingerprint { range: Range(566, 573), fp: EncodedCountingMonoid(3, SumMonoid(1705)) }, Fingerprint { range: Range(573, 596), fp: EncodedCountingMonoid(3, SumMonoid(1726)) }, Fingerprint { range: Range(596, 627), fp: EncodedCountingMonoid(3, SumMonoid(1854)) }, Fingerprint { range: Range(742, 806), fp: EncodedCountingMonoid(3, SumMonoid(2301)) }, Fingerprint { range: Range(806, 856), fp: EncodedCountingMonoid(3, SumMonoid(2467)) }], item_sets: [ItemSet { range: Range(63, 135), items: [101, 112, 124, 129], want_response: false }, ItemSet { range: Range(135, 187), items: [135, 139, 161, 176, 185], want_response: false }, ItemSet { range: Range(187, 240), items: [189, 207, 229, 234], want_response: false }, ItemSet { range: Range(240, 278), items: [241, 247, 269, 272, 276], want_response: false }, ItemSet { range: Range(278, 316), items: [279, 281, 290, 299, 301, 302, 306], want_response: false }, ItemSet { range: Range(856, 986), items: [856, 877, 881, 883, 884, 915, 946, 968, 972], want_response: false }, ItemSet { range: Range(416, 438), items: [430, 436], want_response: true }, ItemSet { range: Range(438, 440), items: [438], want_response: true }, ItemSet { range: Range(536, 566), items: [555, 557], want_response: true }, ItemSet { range: Range(627, 657), items: [627, 637], want_response: true }, ItemSet { range: Range(657, 696), items: [678, 691], want_response: true }, ItemSet { range: Range(696, 742), items: [696, 716], want_response: true }], wants: [63, 111, 167, 184, 187, 240, 257, 278, 985], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(742, 794), fp: EncodedCountingMonoid(3, SumMonoid(2279)) }], item_sets: [ItemSet { range: Range(416, 438), items: [416, 426], want_response: false }, ItemSet { range: Range(438, 440), items: [439], want_response: false }, ItemSet { range: Range(536, 566), items: [536, 546, 552], want_response: false }, ItemSet { range: Range(627, 657), items: [639], want_response: false }, ItemSet { range: Range(657, 696), items: [657, 671, 678], want_response: false }, ItemSet { range: Range(696, 742), items: [715, 735], want_response: false }, ItemSet { range: Range(2, 26), items: [2, 17], want_response: true }, ItemSet { range: Range(26, 63), items: [57], want_response: true }, ItemSet { range: Range(316, 369), items: [327], want_response: true }, ItemSet { range: Range(369, 416), items: [375, 413], want_response: true }, ItemSet { range: Range(440, 524), items: [501, 521], want_response: true }, ItemSet { range: Range(524, 526), items: [524], want_response: true }, ItemSet { range: Range(526, 536), items: [], want_response: true }, ItemSet { range: Range(566, 573), items: [], want_response: true }, ItemSet { range: Range(573, 584), items: [579, 582], want_response: true }, ItemSet { range: Range(584, 596), items: [584], want_response: true }, ItemSet { range: Range(596, 627), items: [596, 614], want_response: true }, ItemSet { range: Range(794, 806), items: [794, 796], want_response: true }, ItemSet { range: Range(806, 856), items: [], want_response: true }], wants: [101, 112, 124, 129, 135, 139, 161, 176, 185, 189, 207, 234, 241, 247, 269, 272, 276, 279, 281, 290, 299, 301, 302, 306, 856, 877, 881, 883, 884, 915, 946, 968, 972, 430, 436, 438, 555, 557, 627, 637, 691, 696, 716], provide: [(63, true), (111, true), (167, true), (184, true), (187, true), (240, true), (257, true), (278, true), (985, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 26), items: [12, 16, 20], want_response: false }, ItemSet { range: Range(26, 63), items: [26, 34, 47], want_response: false }, ItemSet { range: Range(316, 369), items: [316, 338, 346, 362], want_response: false }, ItemSet { range: Range(369, 416), items: [369, 385, 403, 407], want_response: false }, ItemSet { range: Range(440, 524), items: [440, 450, 475, 479, 503], want_response: false }, ItemSet { range: Range(524, 526), items: [], want_response: false }, ItemSet { range: Range(526, 536), items: [526, 527, 528, 529, 531], want_response: false }, ItemSet { range: Range(566, 573), items: [566, 569, 570], want_response: false }, ItemSet { range: Range(573, 584), items: [573, 576, 577], want_response: false }, ItemSet { range: Range(584, 596), items: [], want_response: false }, ItemSet { range: Range(596, 627), items: [607, 622, 625], want_response: false }, ItemSet { range: Range(794, 806), items: [802], want_response: false }, ItemSet { range: Range(806, 856), items: [806, 807, 854], want_response: false }, ItemSet { range: Range(742, 794), items: [743, 756], want_response: true }], wants: [416, 426, 439, 536, 546, 552, 639, 657, 671, 715, 735, 2, 17, 57, 327, 375, 413, 501, 521, 524, 579, 582, 584, 596, 614, 794, 796], provide: [(101, true), (112, true), (124, true), (129, true), (135, true), (139, true), (161, true), (176, true), (185, true), (189, true), (207, true), (234, true), (241, true), (247, true), (269, true), (272, true), (276, true), (279, true), (281, true), (290, true), (299, true), (301, true), (302, true), (306, true), (856, true), (877, true), (881, true), (883, true), (884, true), (915, true), (946, true), (968, true), (972, true), (430, true), (436, true), (438, true), (555, true), (557, true), (627, true), (637, true), (691, true), (696, true), (716, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(742, 794), items: [742, 758, 779], want_response: false }], wants: [12, 16, 20, 26, 34, 47, 316, 338, 346, 362, 369, 385, 403, 407, 440, 450, 475, 479, 503, 526, 527, 528, 529, 531, 566, 569, 570, 573, 576, 577, 607, 622, 625, 802, 806, 807, 854, 743, 756], provide: [(416, true), (426, true), (439, true), (536, true), (546, true), (552, true), (639, true), (657, true), (671, true), (715, true), (735, true), (2, true), (17, true), (57, true), (327, true), (375, true), (413, true), (501, true), (521, true), (524, true), (579, true), (582, true), (584, true), (596, true), (614, true), (794, true), (796, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [742, 758, 779], provide: [(12, true), (16, true), (20, true), (26, true), (34, true), (47, true), (316, true), (338, true), (346, true), (362, true), (369, true), (385, true), (403, true), (407, true), (440, true), (450, true), (475, true), (479, true), (503, true), (526, true), (527, true), (528, true), (529, true), (531, true), (566, true), (569, true), (570, true), (573, true), (576, true), (577, true), (607, true), (622, true), (625, true), (802, true), (806, true), (807, true), (854, true), (743, true), (756, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(742, true), (758, true), (779, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 17, 57, 63, 111, 167, 184, 187, 229, 240, 257, 278, 327, 375, 413, 416, 426, 439, 501, 521, 524, 536, 546, 552, 579, 582, 584, 596, 614, 639, 657, 671, 678, 715, 735, 742, 758, 779, 794, 796, 985} + [997, 998, 101, 112, 124, 129, 135, 139, 161, 176, 185, 189, 207, 234, 241, 247, 269, 272, 276, 279, 281, 290, 299, 301, 302, 306, 856, 877, 881, 883, 884, 915, 946, 968, 972, 430, 436, 438, 555, 557, 627, 637, 691, 696, 716, 12, 16, 20, 26, 34, 47, 316, 338, 346, 362, 369, 385, 403, 407, 440, 450, 475, 479, 503, 526, 527, 528, 529, 531, 566, 569, 570, 573, 576, 577, 607, 622, 625, 802, 806, 807, 854, 743, 756] [INFO] [stdout] b all: {12, 16, 20, 26, 34, 47, 101, 112, 124, 129, 135, 139, 161, 176, 185, 189, 207, 229, 234, 241, 247, 269, 272, 276, 279, 281, 290, 299, 301, 302, 306, 316, 338, 346, 362, 369, 385, 403, 407, 430, 436, 438, 440, 450, 475, 479, 503, 526, 527, 528, 529, 531, 555, 557, 566, 569, 570, 573, 576, 577, 607, 622, 625, 627, 637, 678, 691, 696, 716, 743, 756, 802, 806, 807, 854, 856, 877, 881, 883, 884, 915, 946, 968, 972, 997, 998} + [63, 111, 167, 184, 187, 240, 257, 278, 985, 416, 426, 439, 536, 546, 552, 639, 657, 671, 715, 735, 2, 17, 57, 327, 375, 413, 501, 521, 524, 579, 582, 584, 596, 614, 794, 796, 742, 758, 779] [INFO] [stdout] [INFO] [stdout] all vec: [2, 12, 16, 17, 20, 26, 34, 47, 57, 63, 101, 111, 112, 124, 129, 135, 139, 161, 167, 176, 184, 185, 187, 189, 207, 229, 234, 240, 241, 247, 257, 269, 272, 276, 278, 279, 281, 290, 299, 301, 302, 306, 316, 327, 338, 346, 362, 369, 375, 385, 403, 407, 413, 416, 426, 430, 436, 438, 439, 440, 450, 475, 479, 501, 503, 521, 524, 526, 527, 528, 529, 531, 536, 546, 552, 555, 557, 566, 569, 570, 573, 576, 577, 579, 582, 584, 596, 607, 614, 622, 625, 627, 637, 639, 657, 671, 678, 691, 696, 715, 716, 735, 742, 743, 756, 758, 779, 794, 796, 802, 806, 807, 854, 856, 877, 881, 883, 884, 915, 946, 968, 972, 985, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 12, 16, 17, 20, 26, 34, 47, 57, 63, 101, 111, 112, 124, 129, 135, 139, 161, 167, 176, 184, 185, 187, 189, 207, 229, 234, 240, 241, 247, 257, 269, 272, 276, 278, 279, 281, 290, 299, 301, 302, 306, 316, 327, 338, 346, 362, 369, 375, 385, 403, 407, 413, 416, 426, 430, 436, 438, 439, 440, 450, 475, 479, 501, 503, 521, 524, 526, 527, 528, 529, 531, 536, 546, 552, 555, 557, 566, 569, 570, 573, 576, 577, 579, 582, 584, 596, 607, 614, 622, 625, 627, 637, 639, 657, 671, 678, 691, 696, 715, 716, 735, 742, 743, 756, 758, 779, 794, 796, 802, 806, 807, 854, 856, 877, 881, 883, 884, 915, 946, 968, 972, 985, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 12, 16, 17, 20, 26, 34, 47, 57, 63, 101, 111, 112, 124, 129, 135, 139, 161, 167, 176, 184, 185, 187, 189, 207, 229, 234, 240, 241, 247, 257, 269, 272, 276, 278, 279, 281, 290, 299, 301, 302, 306, 316, 327, 338, 346, 362, 369, 375, 385, 403, 407, 413, 416, 426, 430, 436, 438, 439, 440, 450, 475, 479, 501, 503, 521, 524, 526, 527, 528, 529, 531, 536, 546, 552, 555, 557, 566, 569, 570, 573, 576, 577, 579, 582, 584, 596, 607, 614, 622, 625, 627, 637, 639, 657, 671, 678, 691, 696, 715, 716, 735, 742, 743, 756, 758, 779, 794, 796, 802, 806, 807, 854, 856, 877, 881, 883, 884, 915, 946, 968, 972, 985, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {392, 404, 410, 818, 819, 927} [INFO] [stdout] b items: {138, 146, 363, 389, 398, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 820, 830, 854, 912, 922, 928, 939} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(392, 928), fp: EncodedCountingMonoid(6, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(928, 392), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(392, 631), fp: EncodedCountingMonoid(13, SumMonoid(6634)) }, Fingerprint { range: Range(631, 928), fp: EncodedCountingMonoid(13, SumMonoid(10023)) }], item_sets: [ItemSet { range: Range(928, 392), items: [928, 939, 138, 146, 363, 389], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(392, 410), items: [392, 404], want_response: true }, ItemSet { range: Range(410, 631), items: [410], want_response: true }, ItemSet { range: Range(631, 927), items: [818, 819], want_response: true }, ItemSet { range: Range(927, 928), items: [927], want_response: true }], wants: [928, 939, 138, 146, 363, 389], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(392, 410), items: [398], want_response: false }, ItemSet { range: Range(410, 631), items: [420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615], want_response: false }, ItemSet { range: Range(631, 927), items: [631, 634, 640, 674, 740, 741, 812, 813, 820, 830, 854, 912, 922], want_response: false }, ItemSet { range: Range(927, 928), items: [], want_response: false }], wants: [392, 404, 410, 818, 819, 927], provide: [(928, true), (939, true), (138, true), (146, true), (363, true), (389, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [398, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 820, 830, 854, 912, 922], provide: [(392, true), (404, true), (410, true), (818, true), (819, true), (927, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(398, true), (420, true), (457, true), (470, true), (487, true), (500, true), (501, true), (521, true), (535, true), (546, true), (587, true), (597, true), (615, true), (631, true), (634, true), (640, true), (674, true), (740, true), (741, true), (812, true), (813, true), (820, true), (830, true), (854, true), (912, true), (922, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {392, 404, 410, 818, 819, 927} + [928, 939, 138, 146, 363, 389, 398, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 820, 830, 854, 912, 922] [INFO] [stdout] b all: {138, 146, 363, 389, 398, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 820, 830, 854, 912, 922, 928, 939} + [392, 404, 410, 818, 819, 927] [INFO] [stdout] [INFO] [stdout] all vec: [138, 146, 363, 389, 392, 398, 404, 410, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 818, 819, 820, 830, 854, 912, 922, 927, 928, 939] [INFO] [stdout] [INFO] [stdout] a all vec: [138, 146, 363, 389, 392, 398, 404, 410, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 818, 819, 820, 830, 854, 912, 922, 927, 928, 939], true true [INFO] [stdout] [INFO] [stdout] b all vec: [138, 146, 363, 389, 392, 398, 404, 410, 420, 457, 470, 487, 500, 501, 521, 535, 546, 587, 597, 615, 631, 634, 640, 674, 740, 741, 812, 813, 818, 819, 820, 830, 854, 912, 922, 927, 928, 939], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {37, 93, 167, 179, 180, 188, 256, 278, 347, 374, 430, 432, 436, 515, 573, 589, 656, 672, 708, 741, 839, 848, 863, 879, 886, 958, 960, 966, 994} [INFO] [stdout] b items: {12, 63, 141, 148, 312, 342, 344, 345, 368, 373, 399, 476, 482, 517, 537, 543, 608, 623, 641, 710, 804, 897, 903, 949} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(37, 995), fp: EncodedCountingMonoid(29, SumMonoid(16044)) }], item_sets: [ItemSet { range: Range(995, 37), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(37, 517), fp: EncodedCountingMonoid(12, SumMonoid(3793)) }, Fingerprint { range: Range(517, 995), fp: EncodedCountingMonoid(11, SumMonoid(7732)) }], item_sets: [ItemSet { range: Range(995, 37), items: [12], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(37, 278), fp: EncodedCountingMonoid(7, SumMonoid(1100)) }, Fingerprint { range: Range(278, 517), fp: EncodedCountingMonoid(7, SumMonoid(2812)) }, Fingerprint { range: Range(517, 863), fp: EncodedCountingMonoid(8, SumMonoid(5626)) }, Fingerprint { range: Range(863, 995), fp: EncodedCountingMonoid(7, SumMonoid(6506)) }], item_sets: [], wants: [12], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(278, 373), fp: EncodedCountingMonoid(5, SumMonoid(1711)) }, Fingerprint { range: Range(373, 517), fp: EncodedCountingMonoid(4, SumMonoid(1730)) }, Fingerprint { range: Range(517, 623), fp: EncodedCountingMonoid(4, SumMonoid(2205)) }, Fingerprint { range: Range(623, 863), fp: EncodedCountingMonoid(4, SumMonoid(2778)) }], item_sets: [ItemSet { range: Range(37, 148), items: [63, 141], want_response: true }, ItemSet { range: Range(148, 278), items: [148], want_response: true }, ItemSet { range: Range(863, 949), items: [897, 903], want_response: true }, ItemSet { range: Range(949, 995), items: [949], want_response: true }], wants: [], provide: [(12, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(373, 436), fp: EncodedCountingMonoid(3, SumMonoid(1236)) }, Fingerprint { range: Range(623, 741), fp: EncodedCountingMonoid(3, SumMonoid(2036)) }, Fingerprint { range: Range(741, 863), fp: EncodedCountingMonoid(3, SumMonoid(2428)) }], item_sets: [ItemSet { range: Range(37, 148), items: [37, 93], want_response: false }, ItemSet { range: Range(148, 278), items: [167, 179, 180, 188, 256], want_response: false }, ItemSet { range: Range(863, 949), items: [863, 879, 886], want_response: false }, ItemSet { range: Range(949, 995), items: [958, 960, 966, 994], want_response: false }, ItemSet { range: Range(278, 373), items: [278, 347], want_response: true }, ItemSet { range: Range(436, 517), items: [436, 515], want_response: true }, ItemSet { range: Range(517, 623), items: [573, 589], want_response: true }], wants: [63, 141, 148, 897, 903, 949], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(278, 373), items: [312, 342, 344, 345, 368], want_response: false }, ItemSet { range: Range(436, 517), items: [476, 482], want_response: false }, ItemSet { range: Range(517, 623), items: [517, 537, 543, 608], want_response: false }, ItemSet { range: Range(373, 436), items: [373, 399], want_response: true }, ItemSet { range: Range(623, 710), items: [623, 641], want_response: true }, ItemSet { range: Range(710, 741), items: [710], want_response: true }, ItemSet { range: Range(741, 863), items: [804], want_response: true }], wants: [37, 93, 167, 179, 180, 188, 256, 863, 879, 886, 958, 960, 966, 994, 278, 347, 436, 515, 573, 589], provide: [(63, true), (141, true), (148, true), (897, true), (903, true), (949, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(373, 436), items: [374, 430, 432], want_response: false }, ItemSet { range: Range(623, 710), items: [656, 672, 708], want_response: false }, ItemSet { range: Range(710, 741), items: [], want_response: false }, ItemSet { range: Range(741, 863), items: [741, 839, 848], want_response: false }], wants: [312, 342, 344, 345, 368, 476, 482, 517, 537, 543, 608, 373, 399, 623, 641, 710, 804], provide: [(37, true), (93, true), (167, true), (179, true), (180, true), (188, true), (256, true), (863, true), (879, true), (886, true), (958, true), (960, true), (966, true), (994, true), (278, true), (347, true), (436, true), (515, true), (573, true), (589, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [374, 430, 432, 656, 672, 708, 741, 839, 848], provide: [(312, true), (342, true), (344, true), (345, true), (368, true), (476, true), (482, true), (517, true), (537, true), (543, true), (608, true), (373, true), (399, true), (623, true), (641, true), (710, true), (804, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(374, true), (430, true), (432, true), (656, true), (672, true), (708, true), (741, true), (839, true), (848, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {37, 93, 167, 179, 180, 188, 256, 278, 347, 374, 430, 432, 436, 515, 573, 589, 656, 672, 708, 741, 839, 848, 863, 879, 886, 958, 960, 966, 994} + [12, 63, 141, 148, 897, 903, 949, 312, 342, 344, 345, 368, 476, 482, 517, 537, 543, 608, 373, 399, 623, 641, 710, 804] [INFO] [stdout] b all: {12, 63, 141, 148, 312, 342, 344, 345, 368, 373, 399, 476, 482, 517, 537, 543, 608, 623, 641, 710, 804, 897, 903, 949} + [37, 93, 167, 179, 180, 188, 256, 863, 879, 886, 958, 960, 966, 994, 278, 347, 436, 515, 573, 589, 374, 430, 432, 656, 672, 708, 741, 839, 848] [INFO] [stdout] [INFO] [stdout] all vec: [12, 37, 63, 93, 141, 148, 167, 179, 180, 188, 256, 278, 312, 342, 344, 345, 347, 368, 373, 374, 399, 430, 432, 436, 476, 482, 515, 517, 537, 543, 573, 589, 608, 623, 641, 656, 672, 708, 710, 741, 804, 839, 848, 863, 879, 886, 897, 903, 949, 958, 960, 966, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [12, 37, 63, 93, 141, 148, 167, 179, 180, 188, 256, 278, 312, 342, 344, 345, 347, 368, 373, 374, 399, 430, 432, 436, 476, 482, 515, 517, 537, 543, 573, 589, 608, 623, 641, 656, 672, 708, 710, 741, 804, 839, 848, 863, 879, 886, 897, 903, 949, 958, 960, 966, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [12, 37, 63, 93, 141, 148, 167, 179, 180, 188, 256, 278, 312, 342, 344, 345, 347, 368, 373, 374, 399, 430, 432, 436, 476, 482, 515, 517, 537, 543, 573, 589, 608, 623, 641, 656, 672, 708, 710, 741, 804, 839, 848, 863, 879, 886, 897, 903, 949, 958, 960, 966, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {47, 118, 247, 251, 253, 265, 415, 434, 605, 730, 732, 806, 813, 826, 839, 842, 876, 887, 898, 946} [INFO] [stdout] b items: {3, 10, 27, 28, 33, 36, 37, 57, 71, 84, 91, 94, 103, 114, 126, 149, 172, 182, 184, 224, 263, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 433, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 621, 622, 623, 638, 656, 661, 671, 678, 692, 712, 719, 722, 727, 738, 751, 777, 778, 788, 826, 834, 837, 841, 847, 849, 853, 872, 903, 913, 914, 921, 929, 974, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(47, 947), fp: EncodedCountingMonoid(20, SumMonoid(11830)) }], item_sets: [ItemSet { range: Range(947, 47), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(47, 546), fp: EncodedCountingMonoid(41, SumMonoid(12914)) }, Fingerprint { range: Range(546, 947), fp: EncodedCountingMonoid(40, SumMonoid(29009)) }], item_sets: [ItemSet { range: Range(947, 47), items: [974, 986, 3, 10, 27, 28, 33, 36, 37], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(47, 253), fp: EncodedCountingMonoid(4, SumMonoid(663)) }, Fingerprint { range: Range(253, 546), fp: EncodedCountingMonoid(4, SumMonoid(1367)) }, Fingerprint { range: Range(546, 839), fp: EncodedCountingMonoid(6, SumMonoid(4512)) }, Fingerprint { range: Range(839, 947), fp: EncodedCountingMonoid(6, SumMonoid(5288)) }], item_sets: [], wants: [974, 986, 3, 10, 27, 28, 33, 36, 37], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(47, 126), fp: EncodedCountingMonoid(7, SumMonoid(614)) }, Fingerprint { range: Range(126, 253), fp: EncodedCountingMonoid(6, SumMonoid(1037)) }, Fingerprint { range: Range(253, 411), fp: EncodedCountingMonoid(14, SumMonoid(4624)) }, Fingerprint { range: Range(411, 546), fp: EncodedCountingMonoid(14, SumMonoid(6639)) }, Fingerprint { range: Range(546, 671), fp: EncodedCountingMonoid(15, SumMonoid(8917)) }, Fingerprint { range: Range(671, 839), fp: EncodedCountingMonoid(15, SumMonoid(11250)) }, Fingerprint { range: Range(839, 903), fp: EncodedCountingMonoid(5, SumMonoid(4262)) }, Fingerprint { range: Range(903, 947), fp: EncodedCountingMonoid(5, SumMonoid(4580)) }], item_sets: [], wants: [], provide: [(974, true), (986, true), (3, true), (10, true), (27, true), (28, true), (33, true), (36, true), (37, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(671, 813), fp: EncodedCountingMonoid(3, SumMonoid(2268)) }, Fingerprint { range: Range(839, 887), fp: EncodedCountingMonoid(3, SumMonoid(2557)) }], item_sets: [ItemSet { range: Range(47, 126), items: [47, 118], want_response: true }, ItemSet { range: Range(126, 253), items: [247, 251], want_response: true }, ItemSet { range: Range(253, 411), items: [253, 265], want_response: true }, ItemSet { range: Range(411, 546), items: [415, 434], want_response: true }, ItemSet { range: Range(546, 671), items: [605], want_response: true }, ItemSet { range: Range(813, 839), items: [813, 826], want_response: true }, ItemSet { range: Range(887, 903), items: [887, 898], want_response: true }, ItemSet { range: Range(903, 947), items: [946], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(671, 727), fp: EncodedCountingMonoid(6, SumMonoid(4194)) }, Fingerprint { range: Range(727, 813), fp: EncodedCountingMonoid(6, SumMonoid(4559)) }, Fingerprint { range: Range(839, 853), fp: EncodedCountingMonoid(3, SumMonoid(2537)) }], item_sets: [ItemSet { range: Range(47, 126), items: [57, 71, 84, 91, 94, 103, 114], want_response: false }, ItemSet { range: Range(126, 253), items: [126, 149, 172, 182, 184, 224], want_response: false }, ItemSet { range: Range(253, 411), items: [263, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410], want_response: false }, ItemSet { range: Range(411, 546), items: [411, 433, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538], want_response: false }, ItemSet { range: Range(546, 671), items: [546, 556, 558, 560, 561, 571, 577, 578, 589, 621, 622, 623, 638, 656, 661], want_response: false }, ItemSet { range: Range(813, 839), items: [826, 834, 837], want_response: false }, ItemSet { range: Range(887, 903), items: [], want_response: false }, ItemSet { range: Range(903, 947), items: [903, 913, 914, 921, 929], want_response: false }, ItemSet { range: Range(853, 887), items: [853, 872], want_response: true }], wants: [47, 118, 247, 251, 253, 265, 415, 434, 605, 813, 887, 898, 946], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(853, 887), items: [876], want_response: false }, ItemSet { range: Range(671, 727), items: [], want_response: true }, ItemSet { range: Range(727, 806), items: [730, 732], want_response: true }, ItemSet { range: Range(806, 813), items: [806], want_response: true }, ItemSet { range: Range(839, 853), items: [839, 842], want_response: true }], wants: [57, 71, 84, 91, 94, 103, 114, 126, 149, 172, 182, 184, 224, 263, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 433, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 621, 622, 623, 638, 656, 661, 834, 837, 903, 913, 914, 921, 929, 853, 872], provide: [(47, true), (118, true), (247, true), (251, true), (253, true), (265, true), (415, true), (434, true), (605, true), (813, true), (887, true), (898, true), (946, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(671, 727), items: [671, 678, 692, 712, 719, 722], want_response: false }, ItemSet { range: Range(727, 806), items: [727, 738, 751, 777, 778, 788], want_response: false }, ItemSet { range: Range(806, 813), items: [], want_response: false }, ItemSet { range: Range(839, 853), items: [841, 847, 849], want_response: false }], wants: [876, 730, 732, 806, 839, 842], provide: [(57, true), (71, true), (84, true), (91, true), (94, true), (103, true), (114, true), (126, true), (149, true), (172, true), (182, true), (184, true), (224, true), (263, true), (267, true), (268, true), (276, true), (280, true), (306, true), (313, true), (327, true), (347, true), (374, true), (382, true), (405, true), (406, true), (410, true), (411, true), (433, true), (439, true), (444, true), (457, true), (458, true), (460, true), (470, true), (477, true), (487, true), (512, true), (524, true), (529, true), (538, true), (546, true), (556, true), (558, true), (560, true), (561, true), (571, true), (577, true), (578, true), (589, true), (621, true), (622, true), (623, true), (638, true), (656, true), (661, true), (834, true), (837, true), (903, true), (913, true), (914, true), (921, true), (929, true), (853, true), (872, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [671, 678, 692, 712, 719, 722, 727, 738, 751, 777, 778, 788, 841, 847, 849], provide: [(876, true), (730, true), (732, true), (806, true), (839, true), (842, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(671, true), (678, true), (692, true), (712, true), (719, true), (722, true), (727, true), (738, true), (751, true), (777, true), (778, true), (788, true), (841, true), (847, true), (849, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {47, 118, 247, 251, 253, 265, 415, 434, 605, 730, 732, 806, 813, 826, 839, 842, 876, 887, 898, 946} + [974, 986, 3, 10, 27, 28, 33, 36, 37, 57, 71, 84, 91, 94, 103, 114, 126, 149, 172, 182, 184, 224, 263, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 433, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 621, 622, 623, 638, 656, 661, 834, 837, 903, 913, 914, 921, 929, 853, 872, 671, 678, 692, 712, 719, 722, 727, 738, 751, 777, 778, 788, 841, 847, 849] [INFO] [stdout] b all: {3, 10, 27, 28, 33, 36, 37, 57, 71, 84, 91, 94, 103, 114, 126, 149, 172, 182, 184, 224, 263, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 433, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 621, 622, 623, 638, 656, 661, 671, 678, 692, 712, 719, 722, 727, 738, 751, 777, 778, 788, 826, 834, 837, 841, 847, 849, 853, 872, 903, 913, 914, 921, 929, 974, 986} + [47, 118, 247, 251, 253, 265, 415, 434, 605, 813, 887, 898, 946, 876, 730, 732, 806, 839, 842] [INFO] [stdout] [INFO] [stdout] all vec: [3, 10, 27, 28, 33, 36, 37, 47, 57, 71, 84, 91, 94, 103, 114, 118, 126, 149, 172, 182, 184, 224, 247, 251, 253, 263, 265, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 415, 433, 434, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 605, 621, 622, 623, 638, 656, 661, 671, 678, 692, 712, 719, 722, 727, 730, 732, 738, 751, 777, 778, 788, 806, 813, 826, 834, 837, 839, 841, 842, 847, 849, 853, 872, 876, 887, 898, 903, 913, 914, 921, 929, 946, 974, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 10, 27, 28, 33, 36, 37, 47, 57, 71, 84, 91, 94, 103, 114, 118, 126, 149, 172, 182, 184, 224, 247, 251, 253, 263, 265, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 415, 433, 434, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 605, 621, 622, 623, 638, 656, 661, 671, 678, 692, 712, 719, 722, 727, 730, 732, 738, 751, 777, 778, 788, 806, 813, 826, 834, 837, 839, 841, 842, 847, 849, 853, 872, 876, 887, 898, 903, 913, 914, 921, 929, 946, 974, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 10, 27, 28, 33, 36, 37, 47, 57, 71, 84, 91, 94, 103, 114, 118, 126, 149, 172, 182, 184, 224, 247, 251, 253, 263, 265, 267, 268, 276, 280, 306, 313, 327, 347, 374, 382, 405, 406, 410, 411, 415, 433, 434, 439, 444, 457, 458, 460, 470, 477, 487, 512, 524, 529, 538, 546, 556, 558, 560, 561, 571, 577, 578, 589, 605, 621, 622, 623, 638, 656, 661, 671, 678, 692, 712, 719, 722, 727, 730, 732, 738, 751, 777, 778, 788, 806, 813, 826, 834, 837, 839, 841, 842, 847, 849, 853, 872, 876, 887, 898, 903, 913, 914, 921, 929, 946, 974, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 4, 55, 62, 71, 78, 83, 88, 183, 217, 226, 238, 254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 501, 502, 503, 524, 541, 546, 571, 603, 613, 621, 632, 633, 648, 662, 681, 690, 697, 702, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 930, 951, 981} [INFO] [stdout] b items: {19, 22, 37, 60, 70, 137, 141, 163, 207, 233, 385, 500, 548, 555, 644, 667, 709, 895, 906, 922, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 982), fp: EncodedCountingMonoid(73, SumMonoid(38009)) }], item_sets: [ItemSet { range: Range(982, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 385), fp: EncodedCountingMonoid(10, SumMonoid(1089)) }, Fingerprint { range: Range(385, 982), fp: EncodedCountingMonoid(10, SumMonoid(6731)) }], item_sets: [ItemSet { range: Range(982, 1), items: [996], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 254), fp: EncodedCountingMonoid(12, SumMonoid(1306)) }, Fingerprint { range: Range(254, 385), fp: EncodedCountingMonoid(11, SumMonoid(3410)) }, Fingerprint { range: Range(385, 681), fp: EncodedCountingMonoid(25, SumMonoid(12944)) }, Fingerprint { range: Range(681, 982), fp: EncodedCountingMonoid(25, SumMonoid(20349)) }], item_sets: [], wants: [996], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 137), fp: EncodedCountingMonoid(5, SumMonoid(208)) }, Fingerprint { range: Range(137, 254), fp: EncodedCountingMonoid(5, SumMonoid(881)) }, Fingerprint { range: Range(385, 555), fp: EncodedCountingMonoid(3, SumMonoid(1433)) }, Fingerprint { range: Range(555, 681), fp: EncodedCountingMonoid(3, SumMonoid(1866)) }], item_sets: [ItemSet { range: Range(254, 385), items: [], want_response: true }, ItemSet { range: Range(681, 906), items: [709, 895], want_response: true }, ItemSet { range: Range(906, 982), items: [906, 922], want_response: true }], wants: [], provide: [(996, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 71), fp: EncodedCountingMonoid(4, SumMonoid(122)) }, Fingerprint { range: Range(71, 137), fp: EncodedCountingMonoid(4, SumMonoid(320)) }, Fingerprint { range: Range(385, 475), fp: EncodedCountingMonoid(9, SumMonoid(3873)) }, Fingerprint { range: Range(475, 555), fp: EncodedCountingMonoid(8, SumMonoid(4088)) }, Fingerprint { range: Range(555, 632), fp: EncodedCountingMonoid(4, SumMonoid(2408)) }, Fingerprint { range: Range(632, 681), fp: EncodedCountingMonoid(4, SumMonoid(2575)) }], item_sets: [ItemSet { range: Range(254, 385), items: [254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370], want_response: false }, ItemSet { range: Range(681, 906), items: [681, 690, 697, 702, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876], want_response: false }, ItemSet { range: Range(906, 982), items: [930, 951, 981], want_response: false }, ItemSet { range: Range(137, 226), items: [183, 217], want_response: true }, ItemSet { range: Range(226, 254), items: [226, 238], want_response: true }], wants: [709, 895, 906, 922], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 60), fp: EncodedCountingMonoid(3, SumMonoid(78)) }], item_sets: [ItemSet { range: Range(137, 226), items: [137, 141, 163, 207], want_response: false }, ItemSet { range: Range(226, 254), items: [233], want_response: false }, ItemSet { range: Range(60, 71), items: [60, 70], want_response: true }, ItemSet { range: Range(71, 137), items: [], want_response: true }, ItemSet { range: Range(385, 475), items: [385], want_response: true }, ItemSet { range: Range(475, 555), items: [500, 548], want_response: true }, ItemSet { range: Range(555, 632), items: [555], want_response: true }, ItemSet { range: Range(632, 681), items: [644, 667], want_response: true }], wants: [254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 681, 690, 697, 702, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 930, 951, 981, 183, 217, 226, 238], provide: [(709, true), (895, true), (906, true), (922, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(60, 71), items: [62], want_response: false }, ItemSet { range: Range(71, 137), items: [71, 78, 83, 88], want_response: false }, ItemSet { range: Range(385, 475), items: [405, 410, 411, 419, 420, 427, 453, 455, 473], want_response: false }, ItemSet { range: Range(475, 555), items: [475, 496, 501, 502, 503, 524, 541, 546], want_response: false }, ItemSet { range: Range(555, 632), items: [571, 603, 613, 621], want_response: false }, ItemSet { range: Range(632, 681), items: [632, 633, 648, 662], want_response: false }, ItemSet { range: Range(1, 55), items: [1, 4], want_response: true }, ItemSet { range: Range(55, 60), items: [55], want_response: true }], wants: [137, 141, 163, 207, 233, 60, 70, 385, 500, 548, 555, 644, 667], provide: [(254, true), (263, true), (279, true), (287, true), (298, true), (315, true), (319, true), (323, true), (334, true), (368, true), (370, true), (681, true), (690, true), (697, true), (702, true), (739, true), (748, true), (782, true), (784, true), (797, true), (799, true), (806, true), (816, true), (817, true), (818, true), (826, true), (827, true), (836, true), (843, true), (862, true), (869, true), (872, true), (876, true), (930, true), (951, true), (981, true), (183, true), (217, true), (226, true), (238, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 55), items: [19, 22, 37], want_response: false }, ItemSet { range: Range(55, 60), items: [], want_response: false }], wants: [62, 71, 78, 83, 88, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 501, 502, 503, 524, 541, 546, 571, 603, 613, 621, 632, 633, 648, 662, 1, 4, 55], provide: [(137, true), (141, true), (163, true), (207, true), (233, true), (60, true), (70, true), (385, true), (500, true), (548, true), (555, true), (644, true), (667, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [19, 22, 37], provide: [(62, true), (71, true), (78, true), (83, true), (88, true), (405, true), (410, true), (411, true), (419, true), (420, true), (427, true), (453, true), (455, true), (473, true), (475, true), (496, true), (501, true), (502, true), (503, true), (524, true), (541, true), (546, true), (571, true), (603, true), (613, true), (621, true), (632, true), (633, true), (648, true), (662, true), (1, true), (4, true), (55, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(19, true), (22, true), (37, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 4, 55, 62, 71, 78, 83, 88, 183, 217, 226, 238, 254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 501, 502, 503, 524, 541, 546, 571, 603, 613, 621, 632, 633, 648, 662, 681, 690, 697, 702, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 930, 951, 981} + [996, 709, 895, 906, 922, 137, 141, 163, 207, 233, 60, 70, 385, 500, 548, 555, 644, 667, 19, 22, 37] [INFO] [stdout] b all: {19, 22, 37, 60, 70, 137, 141, 163, 207, 233, 385, 500, 548, 555, 644, 667, 709, 895, 906, 922, 996} + [254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 681, 690, 697, 702, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 930, 951, 981, 183, 217, 226, 238, 62, 71, 78, 83, 88, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 501, 502, 503, 524, 541, 546, 571, 603, 613, 621, 632, 633, 648, 662, 1, 4, 55] [INFO] [stdout] [INFO] [stdout] all vec: [1, 4, 19, 22, 37, 55, 60, 62, 70, 71, 78, 83, 88, 137, 141, 163, 183, 207, 217, 226, 233, 238, 254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 385, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 500, 501, 502, 503, 524, 541, 546, 548, 555, 571, 603, 613, 621, 632, 633, 644, 648, 662, 667, 681, 690, 697, 702, 709, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 895, 906, 922, 930, 951, 981, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 4, 19, 22, 37, 55, 60, 62, 70, 71, 78, 83, 88, 137, 141, 163, 183, 207, 217, 226, 233, 238, 254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 385, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 500, 501, 502, 503, 524, 541, 546, 548, 555, 571, 603, 613, 621, 632, 633, 644, 648, 662, 667, 681, 690, 697, 702, 709, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 895, 906, 922, 930, 951, 981, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 4, 19, 22, 37, 55, 60, 62, 70, 71, 78, 83, 88, 137, 141, 163, 183, 207, 217, 226, 233, 238, 254, 263, 279, 287, 298, 315, 319, 323, 334, 368, 370, 385, 405, 410, 411, 419, 420, 427, 453, 455, 473, 475, 496, 500, 501, 502, 503, 524, 541, 546, 548, 555, 571, 603, 613, 621, 632, 633, 644, 648, 662, 667, 681, 690, 697, 702, 709, 739, 748, 782, 784, 797, 799, 806, 816, 817, 818, 826, 827, 836, 843, 862, 869, 872, 876, 895, 906, 922, 930, 951, 981, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {27, 56, 69, 96, 111, 151, 153, 177, 198, 303, 326, 367, 375, 398, 425, 452, 459, 500, 576, 580, 650, 704, 706, 716, 722, 769, 826, 840, 864, 872, 953, 955, 968, 971} [INFO] [stdout] b items: {237, 335, 639, 720, 756} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 972), fp: EncodedCountingMonoid(34, SumMonoid(17315)) }], item_sets: [ItemSet { range: Range(972, 27), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(27, 720), fp: EncodedCountingMonoid(3, SumMonoid(1211)) }], item_sets: [ItemSet { range: Range(972, 27), items: [], want_response: false }, ItemSet { range: Range(720, 972), items: [720, 756], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 375), fp: EncodedCountingMonoid(12, SumMonoid(2034)) }, Fingerprint { range: Range(375, 720), fp: EncodedCountingMonoid(12, SumMonoid(6541)) }], item_sets: [ItemSet { range: Range(720, 972), items: [722, 769, 826, 840, 864, 872, 953, 955, 968, 971], want_response: false }], wants: [720, 756], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(27, 375), items: [237, 335], want_response: true }, ItemSet { range: Range(375, 720), items: [639], want_response: true }], wants: [722, 769, 826, 840, 864, 872, 953, 955, 968, 971], provide: [(720, true), (756, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(27, 375), items: [27, 56, 69, 96, 111, 151, 153, 177, 198, 303, 326, 367], want_response: false }, ItemSet { range: Range(375, 720), items: [375, 398, 425, 452, 459, 500, 576, 580, 650, 704, 706, 716], want_response: false }], wants: [237, 335, 639], provide: [(722, true), (769, true), (826, true), (840, true), (864, true), (872, true), (953, true), (955, true), (968, true), (971, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [27, 56, 69, 96, 111, 151, 153, 177, 198, 303, 326, 367, 375, 398, 425, 452, 459, 500, 576, 580, 650, 704, 706, 716], provide: [(237, true), (335, true), (639, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(27, true), (56, true), (69, true), (96, true), (111, true), (151, true), (153, true), (177, true), (198, true), (303, true), (326, true), (367, true), (375, true), (398, true), (425, true), (452, true), (459, true), (500, true), (576, true), (580, true), (650, true), (704, true), (706, true), (716, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {27, 56, 69, 96, 111, 151, 153, 177, 198, 303, 326, 367, 375, 398, 425, 452, 459, 500, 576, 580, 650, 704, 706, 716, 722, 769, 826, 840, 864, 872, 953, 955, 968, 971} + [720, 756, 237, 335, 639] [INFO] [stdout] b all: {237, 335, 639, 720, 756} + [722, 769, 826, 840, 864, 872, 953, 955, 968, 971, 27, 56, 69, 96, 111, 151, 153, 177, 198, 303, 326, 367, 375, 398, 425, 452, 459, 500, 576, 580, 650, 704, 706, 716] [INFO] [stdout] [INFO] [stdout] all vec: [27, 56, 69, 96, 111, 151, 153, 177, 198, 237, 303, 326, 335, 367, 375, 398, 425, 452, 459, 500, 576, 580, 639, 650, 704, 706, 716, 720, 722, 756, 769, 826, 840, 864, 872, 953, 955, 968, 971] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 56, 69, 96, 111, 151, 153, 177, 198, 237, 303, 326, 335, 367, 375, 398, 425, 452, 459, 500, 576, 580, 639, 650, 704, 706, 716, 720, 722, 756, 769, 826, 840, 864, 872, 953, 955, 968, 971], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 56, 69, 96, 111, 151, 153, 177, 198, 237, 303, 326, 335, 367, 375, 398, 425, 452, 459, 500, 576, 580, 639, 650, 704, 706, 716, 720, 722, 756, 769, 826, 840, 864, 872, 953, 955, 968, 971], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 33, 50, 78, 97, 124, 186, 198, 239, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 418, 434, 465, 468, 518, 523, 552, 610, 616, 638, 676, 679, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996} [INFO] [stdout] b items: {250, 412, 484, 697} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 997), fp: EncodedCountingMonoid(51, SumMonoid(28110)) }], item_sets: [ItemSet { range: Range(997, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(997, 2), items: [], want_response: false }, ItemSet { range: Range(2, 484), items: [250, 412], want_response: true }, ItemSet { range: Range(484, 997), items: [484, 697], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 484), items: [2, 33, 50, 78, 97, 124, 186, 198, 239, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 418, 434, 465, 468], want_response: false }, ItemSet { range: Range(484, 997), items: [518, 523, 552, 610, 616, 638, 676, 679, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996], want_response: false }], wants: [250, 412, 484, 697], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [2, 33, 50, 78, 97, 124, 186, 198, 239, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 418, 434, 465, 468, 518, 523, 552, 610, 616, 638, 676, 679, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996], provide: [(250, true), (412, true), (484, true), (697, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(2, true), (33, true), (50, true), (78, true), (97, true), (124, true), (186, true), (198, true), (239, true), (252, true), (266, true), (306, true), (312, true), (338, true), (363, true), (389, true), (401, true), (410, true), (411, true), (418, true), (434, true), (465, true), (468, true), (518, true), (523, true), (552, true), (610, true), (616, true), (638, true), (676, true), (679, true), (716, true), (726, true), (778, true), (780, true), (787, true), (793, true), (794, true), (799, true), (821, true), (833, true), (836, true), (878, true), (893, true), (903, true), (929, true), (936, true), (948, true), (950, true), (962, true), (996, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 33, 50, 78, 97, 124, 186, 198, 239, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 418, 434, 465, 468, 518, 523, 552, 610, 616, 638, 676, 679, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996} + [250, 412, 484, 697] [INFO] [stdout] b all: {250, 412, 484, 697} + [2, 33, 50, 78, 97, 124, 186, 198, 239, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 418, 434, 465, 468, 518, 523, 552, 610, 616, 638, 676, 679, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996] [INFO] [stdout] [INFO] [stdout] all vec: [2, 33, 50, 78, 97, 124, 186, 198, 239, 250, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 412, 418, 434, 465, 468, 484, 518, 523, 552, 610, 616, 638, 676, 679, 697, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 33, 50, 78, 97, 124, 186, 198, 239, 250, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 412, 418, 434, 465, 468, 484, 518, 523, 552, 610, 616, 638, 676, 679, 697, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 33, 50, 78, 97, 124, 186, 198, 239, 250, 252, 266, 306, 312, 338, 363, 389, 401, 410, 411, 412, 418, 434, 465, 468, 484, 518, 523, 552, 610, 616, 638, 676, 679, 697, 716, 726, 778, 780, 787, 793, 794, 799, 821, 833, 836, 878, 893, 903, 929, 936, 948, 950, 962, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {30, 72, 143, 147, 207, 211, 229, 230, 255, 328, 449, 477, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979} [INFO] [stdout] b items: {31, 149, 561} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(30, 980), fp: EncodedCountingMonoid(28, SumMonoid(15343)) }], item_sets: [ItemSet { range: Range(980, 30), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(980, 30), items: [], want_response: false }, ItemSet { range: Range(30, 561), items: [31, 149], want_response: true }, ItemSet { range: Range(561, 980), items: [561], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(30, 561), items: [30, 72, 143, 147, 207, 211, 229, 230, 255, 328, 449, 477], want_response: false }, ItemSet { range: Range(561, 980), items: [565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979], want_response: false }], wants: [31, 149, 561], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [30, 72, 143, 147, 207, 211, 229, 230, 255, 328, 449, 477, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979], provide: [(31, true), (149, true), (561, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(30, true), (72, true), (143, true), (147, true), (207, true), (211, true), (229, true), (230, true), (255, true), (328, true), (449, true), (477, true), (565, true), (575, true), (667, true), (674, true), (680, true), (702, true), (763, true), (784, true), (809, true), (814, true), (846, true), (891, true), (907, true), (933, true), (976, true), (979, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {30, 72, 143, 147, 207, 211, 229, 230, 255, 328, 449, 477, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979} + [31, 149, 561] [INFO] [stdout] b all: {31, 149, 561} + [30, 72, 143, 147, 207, 211, 229, 230, 255, 328, 449, 477, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979] [INFO] [stdout] [INFO] [stdout] all vec: [30, 31, 72, 143, 147, 149, 207, 211, 229, 230, 255, 328, 449, 477, 561, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979] [INFO] [stdout] [INFO] [stdout] a all vec: [30, 31, 72, 143, 147, 149, 207, 211, 229, 230, 255, 328, 449, 477, 561, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979], true true [INFO] [stdout] [INFO] [stdout] b all vec: [30, 31, 72, 143, 147, 149, 207, 211, 229, 230, 255, 328, 449, 477, 561, 565, 575, 667, 674, 680, 702, 763, 784, 809, 814, 846, 891, 907, 933, 976, 979], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {9, 10, 14, 43, 75, 84, 85, 88, 89, 104, 117, 123, 126, 131, 167, 182, 194, 197, 222, 226, 236, 238, 247, 254, 260, 290, 292, 317, 358, 359, 362, 371, 377, 403, 405, 423, 426, 452, 491, 497, 512, 513, 519, 523, 539, 540, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650, 651, 652, 664, 679, 685, 692, 702, 703, 742, 752, 769, 781, 793, 798, 802, 821, 823, 824, 826, 843, 844, 845, 849, 877, 878, 885, 887, 917, 938, 952, 989, 992, 996} [INFO] [stdout] b items: {7, 46, 75, 115, 174, 187, 229, 301, 303, 307, 310, 334, 349, 365, 369, 373, 390, 463, 495, 500, 501, 511, 512, 526, 549, 633, 651, 660, 667, 691, 696, 779, 801, 806, 866, 900, 901, 910, 911, 966} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 997), fp: EncodedCountingMonoid(96, SumMonoid(49632)) }], item_sets: [ItemSet { range: Range(997, 9), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 511), fp: EncodedCountingMonoid(20, SumMonoid(6186)) }, Fingerprint { range: Range(511, 997), fp: EncodedCountingMonoid(19, SumMonoid(13936)) }], item_sets: [ItemSet { range: Range(997, 9), items: [7], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 236), fp: EncodedCountingMonoid(20, SumMonoid(2286)) }, Fingerprint { range: Range(236, 511), fp: EncodedCountingMonoid(20, SumMonoid(7058)) }, Fingerprint { range: Range(511, 692), fp: EncodedCountingMonoid(28, SumMonoid(16768)) }, Fingerprint { range: Range(692, 997), fp: EncodedCountingMonoid(28, SumMonoid(23520)) }], item_sets: [], wants: [7], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 174), fp: EncodedCountingMonoid(3, SumMonoid(236)) }, Fingerprint { range: Range(174, 236), fp: EncodedCountingMonoid(3, SumMonoid(590)) }, Fingerprint { range: Range(236, 369), fp: EncodedCountingMonoid(7, SumMonoid(2269)) }, Fingerprint { range: Range(369, 511), fp: EncodedCountingMonoid(7, SumMonoid(3091)) }, Fingerprint { range: Range(511, 651), fp: EncodedCountingMonoid(5, SumMonoid(2731)) }, Fingerprint { range: Range(651, 692), fp: EncodedCountingMonoid(4, SumMonoid(2669)) }, Fingerprint { range: Range(692, 900), fp: EncodedCountingMonoid(5, SumMonoid(3948)) }, Fingerprint { range: Range(900, 997), fp: EncodedCountingMonoid(5, SumMonoid(4588)) }], item_sets: [], wants: [], provide: [(7, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 89), fp: EncodedCountingMonoid(8, SumMonoid(408)) }, Fingerprint { range: Range(89, 174), fp: EncodedCountingMonoid(7, SumMonoid(857)) }, Fingerprint { range: Range(174, 222), fp: EncodedCountingMonoid(3, SumMonoid(573)) }, Fingerprint { range: Range(236, 292), fp: EncodedCountingMonoid(6, SumMonoid(1525)) }, Fingerprint { range: Range(292, 369), fp: EncodedCountingMonoid(5, SumMonoid(1688)) }, Fingerprint { range: Range(369, 426), fp: EncodedCountingMonoid(5, SumMonoid(1979)) }, Fingerprint { range: Range(426, 511), fp: EncodedCountingMonoid(4, SumMonoid(1866)) }, Fingerprint { range: Range(511, 599), fp: EncodedCountingMonoid(12, SumMonoid(6562)) }, Fingerprint { range: Range(599, 651), fp: EncodedCountingMonoid(11, SumMonoid(6875)) }, Fingerprint { range: Range(651, 679), fp: EncodedCountingMonoid(3, SumMonoid(1967)) }, Fingerprint { range: Range(692, 823), fp: EncodedCountingMonoid(11, SumMonoid(8355)) }, Fingerprint { range: Range(823, 900), fp: EncodedCountingMonoid(11, SumMonoid(9381)) }, Fingerprint { range: Range(900, 989), fp: EncodedCountingMonoid(3, SumMonoid(2807)) }, Fingerprint { range: Range(989, 997), fp: EncodedCountingMonoid(3, SumMonoid(2977)) }], item_sets: [ItemSet { range: Range(222, 236), items: [222, 226], want_response: true }, ItemSet { range: Range(679, 692), items: [679, 685], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(292, 334), fp: EncodedCountingMonoid(4, SumMonoid(1221)) }, Fingerprint { range: Range(334, 369), fp: EncodedCountingMonoid(3, SumMonoid(1048)) }, Fingerprint { range: Range(900, 911), fp: EncodedCountingMonoid(3, SumMonoid(2711)) }], item_sets: [ItemSet { range: Range(222, 236), items: [229], want_response: false }, ItemSet { range: Range(679, 692), items: [691], want_response: false }, ItemSet { range: Range(9, 89), items: [46, 75], want_response: true }, ItemSet { range: Range(89, 174), items: [115], want_response: true }, ItemSet { range: Range(174, 222), items: [174, 187], want_response: true }, ItemSet { range: Range(236, 292), items: [], want_response: true }, ItemSet { range: Range(369, 390), items: [369, 373], want_response: true }, ItemSet { range: Range(390, 426), items: [390], want_response: true }, ItemSet { range: Range(426, 500), items: [463, 495], want_response: true }, ItemSet { range: Range(500, 511), items: [500, 501], want_response: true }, ItemSet { range: Range(511, 526), items: [511, 512], want_response: true }, ItemSet { range: Range(526, 599), items: [526, 549], want_response: true }, ItemSet { range: Range(599, 651), items: [633], want_response: true }, ItemSet { range: Range(651, 667), items: [651, 660], want_response: true }, ItemSet { range: Range(667, 679), items: [667], want_response: true }, ItemSet { range: Range(692, 801), items: [696, 779], want_response: true }, ItemSet { range: Range(801, 823), items: [801, 806], want_response: true }, ItemSet { range: Range(823, 900), items: [866], want_response: true }, ItemSet { range: Range(911, 989), items: [911, 966], want_response: true }, ItemSet { range: Range(989, 997), items: [], want_response: true }], wants: [222, 226, 679, 685], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(9, 89), items: [9, 10, 14, 43, 75, 84, 85, 88], want_response: false }, ItemSet { range: Range(89, 174), items: [89, 104, 117, 123, 126, 131, 167], want_response: false }, ItemSet { range: Range(174, 222), items: [182, 194, 197], want_response: false }, ItemSet { range: Range(236, 292), items: [236, 238, 247, 254, 260, 290], want_response: false }, ItemSet { range: Range(369, 390), items: [371, 377], want_response: false }, ItemSet { range: Range(390, 426), items: [403, 405, 423], want_response: false }, ItemSet { range: Range(426, 500), items: [426, 452, 491, 497], want_response: false }, ItemSet { range: Range(500, 511), items: [], want_response: false }, ItemSet { range: Range(511, 526), items: [512, 513, 519, 523], want_response: false }, ItemSet { range: Range(526, 599), items: [539, 540, 553, 557, 563, 573, 578, 592], want_response: false }, ItemSet { range: Range(599, 651), items: [599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650], want_response: false }, ItemSet { range: Range(651, 667), items: [651, 652, 664], want_response: false }, ItemSet { range: Range(667, 679), items: [], want_response: false }, ItemSet { range: Range(692, 801), items: [692, 702, 703, 742, 752, 769, 781, 793, 798], want_response: false }, ItemSet { range: Range(801, 823), items: [802, 821], want_response: false }, ItemSet { range: Range(823, 900), items: [823, 824, 826, 843, 844, 845, 849, 877, 878, 885, 887], want_response: false }, ItemSet { range: Range(911, 989), items: [917, 938, 952], want_response: false }, ItemSet { range: Range(989, 997), items: [989, 992, 996], want_response: false }, ItemSet { range: Range(292, 334), items: [292, 317], want_response: true }, ItemSet { range: Range(334, 362), items: [358, 359], want_response: true }, ItemSet { range: Range(362, 369), items: [362], want_response: true }, ItemSet { range: Range(900, 911), items: [], want_response: true }], wants: [229, 691, 46, 115, 174, 187, 369, 373, 390, 463, 495, 500, 501, 511, 526, 549, 660, 667, 696, 779, 801, 806, 866, 911, 966], provide: [(222, true), (226, true), (679, true), (685, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(292, 334), items: [301, 303, 307, 310], want_response: false }, ItemSet { range: Range(334, 362), items: [334, 349], want_response: false }, ItemSet { range: Range(362, 369), items: [365], want_response: false }, ItemSet { range: Range(900, 911), items: [900, 901, 910], want_response: false }], wants: [9, 10, 14, 43, 84, 85, 88, 89, 104, 117, 123, 126, 131, 167, 182, 194, 197, 236, 238, 247, 254, 260, 290, 371, 377, 403, 405, 423, 426, 452, 491, 497, 513, 519, 523, 539, 540, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 645, 650, 652, 664, 692, 702, 703, 742, 752, 769, 781, 793, 798, 802, 821, 823, 824, 826, 843, 844, 845, 849, 877, 878, 885, 887, 917, 938, 952, 989, 992, 996, 292, 317, 358, 359, 362], provide: [(229, true), (691, true), (46, true), (115, true), (174, true), (187, true), (369, true), (373, true), (390, true), (463, true), (495, true), (500, true), (501, true), (511, true), (526, true), (549, true), (660, true), (667, true), (696, true), (779, true), (801, true), (806, true), (866, true), (911, true), (966, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [301, 303, 307, 310, 334, 349, 365, 900, 901, 910], provide: [(9, true), (10, true), (14, true), (43, true), (84, true), (85, true), (88, true), (89, true), (104, true), (117, true), (123, true), (126, true), (131, true), (167, true), (182, true), (194, true), (197, true), (236, true), (238, true), (247, true), (254, true), (260, true), (290, true), (371, true), (377, true), (403, true), (405, true), (423, true), (426, true), (452, true), (491, true), (497, true), (513, true), (519, true), (523, true), (539, true), (540, true), (553, true), (557, true), (563, true), (573, true), (578, true), (592, true), (599, true), (600, true), (615, true), (617, true), (625, true), (628, true), (631, true), (632, true), (645, true), (650, true), (652, true), (664, true), (692, true), (702, true), (703, true), (742, true), (752, true), (769, true), (781, true), (793, true), (798, true), (802, true), (821, true), (823, true), (824, true), (826, true), (843, true), (844, true), (845, true), (849, true), (877, true), (878, true), (885, true), (887, true), (917, true), (938, true), (952, true), (989, true), (992, true), (996, true), (292, true), (317, true), (358, true), (359, true), (362, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(301, true), (303, true), (307, true), (310, true), (334, true), (349, true), (365, true), (900, true), (901, true), (910, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {9, 10, 14, 43, 75, 84, 85, 88, 89, 104, 117, 123, 126, 131, 167, 182, 194, 197, 222, 226, 236, 238, 247, 254, 260, 290, 292, 317, 358, 359, 362, 371, 377, 403, 405, 423, 426, 452, 491, 497, 512, 513, 519, 523, 539, 540, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650, 651, 652, 664, 679, 685, 692, 702, 703, 742, 752, 769, 781, 793, 798, 802, 821, 823, 824, 826, 843, 844, 845, 849, 877, 878, 885, 887, 917, 938, 952, 989, 992, 996} + [7, 229, 691, 46, 115, 174, 187, 369, 373, 390, 463, 495, 500, 501, 511, 526, 549, 660, 667, 696, 779, 801, 806, 866, 911, 966, 301, 303, 307, 310, 334, 349, 365, 900, 901, 910] [INFO] [stdout] b all: {7, 46, 75, 115, 174, 187, 229, 301, 303, 307, 310, 334, 349, 365, 369, 373, 390, 463, 495, 500, 501, 511, 512, 526, 549, 633, 651, 660, 667, 691, 696, 779, 801, 806, 866, 900, 901, 910, 911, 966} + [222, 226, 679, 685, 9, 10, 14, 43, 84, 85, 88, 89, 104, 117, 123, 126, 131, 167, 182, 194, 197, 236, 238, 247, 254, 260, 290, 371, 377, 403, 405, 423, 426, 452, 491, 497, 513, 519, 523, 539, 540, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 645, 650, 652, 664, 692, 702, 703, 742, 752, 769, 781, 793, 798, 802, 821, 823, 824, 826, 843, 844, 845, 849, 877, 878, 885, 887, 917, 938, 952, 989, 992, 996, 292, 317, 358, 359, 362] [INFO] [stdout] [INFO] [stdout] all vec: [7, 9, 10, 14, 43, 46, 75, 84, 85, 88, 89, 104, 115, 117, 123, 126, 131, 167, 174, 182, 187, 194, 197, 222, 226, 229, 236, 238, 247, 254, 260, 290, 292, 301, 303, 307, 310, 317, 334, 349, 358, 359, 362, 365, 369, 371, 373, 377, 390, 403, 405, 423, 426, 452, 463, 491, 495, 497, 500, 501, 511, 512, 513, 519, 523, 526, 539, 540, 549, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650, 651, 652, 660, 664, 667, 679, 685, 691, 692, 696, 702, 703, 742, 752, 769, 779, 781, 793, 798, 801, 802, 806, 821, 823, 824, 826, 843, 844, 845, 849, 866, 877, 878, 885, 887, 900, 901, 910, 911, 917, 938, 952, 966, 989, 992, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 9, 10, 14, 43, 46, 75, 84, 85, 88, 89, 104, 115, 117, 123, 126, 131, 167, 174, 182, 187, 194, 197, 222, 226, 229, 236, 238, 247, 254, 260, 290, 292, 301, 303, 307, 310, 317, 334, 349, 358, 359, 362, 365, 369, 371, 373, 377, 390, 403, 405, 423, 426, 452, 463, 491, 495, 497, 500, 501, 511, 512, 513, 519, 523, 526, 539, 540, 549, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650, 651, 652, 660, 664, 667, 679, 685, 691, 692, 696, 702, 703, 742, 752, 769, 779, 781, 793, 798, 801, 802, 806, 821, 823, 824, 826, 843, 844, 845, 849, 866, 877, 878, 885, 887, 900, 901, 910, 911, 917, 938, 952, 966, 989, 992, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 9, 10, 14, 43, 46, 75, 84, 85, 88, 89, 104, 115, 117, 123, 126, 131, 167, 174, 182, 187, 194, 197, 222, 226, 229, 236, 238, 247, 254, 260, 290, 292, 301, 303, 307, 310, 317, 334, 349, 358, 359, 362, 365, 369, 371, 373, 377, 390, 403, 405, 423, 426, 452, 463, 491, 495, 497, 500, 501, 511, 512, 513, 519, 523, 526, 539, 540, 549, 553, 557, 563, 573, 578, 592, 599, 600, 615, 617, 625, 628, 631, 632, 633, 645, 650, 651, 652, 660, 664, 667, 679, 685, 691, 692, 696, 702, 703, 742, 752, 769, 779, 781, 793, 798, 801, 802, 806, 821, 823, 824, 826, 843, 844, 845, 849, 866, 877, 878, 885, 887, 900, 901, 910, 911, 917, 938, 952, 966, 989, 992, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {39, 41, 94, 98, 117, 158, 165, 171, 181, 192, 205, 222, 258, 265, 271, 277, 282, 364, 416, 452, 487, 539, 549, 551, 557, 592, 603, 617, 618, 658, 703, 732, 774, 786, 835, 880, 904, 961} [INFO] [stdout] b items: {3, 4, 28, 47, 49, 63, 98, 110, 145, 160, 183, 186, 223, 233, 235, 244, 246, 261, 266, 283, 321, 324, 358, 375, 382, 392, 393, 408, 415, 418, 432, 438, 454, 475, 489, 502, 507, 508, 526, 532, 534, 537, 538, 550, 561, 565, 592, 627, 628, 633, 648, 653, 661, 679, 683, 685, 686, 725, 737, 745, 768, 777, 783, 796, 804, 828, 834, 844, 854, 866, 872, 880, 890, 891, 901, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961, 975, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 962), fp: EncodedCountingMonoid(38, SumMonoid(16614)) }], item_sets: [ItemSet { range: Range(962, 39), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 592), fp: EncodedCountingMonoid(43, SumMonoid(14966)) }, Fingerprint { range: Range(592, 962), fp: EncodedCountingMonoid(42, SumMonoid(34091)) }], item_sets: [ItemSet { range: Range(962, 39), items: [975, 999, 3, 4, 28], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 265), fp: EncodedCountingMonoid(13, SumMonoid(1941)) }, Fingerprint { range: Range(265, 592), fp: EncodedCountingMonoid(12, SumMonoid(5010)) }, Fingerprint { range: Range(592, 774), fp: EncodedCountingMonoid(7, SumMonoid(4523)) }, Fingerprint { range: Range(774, 962), fp: EncodedCountingMonoid(6, SumMonoid(5140)) }], item_sets: [], wants: [975, 999, 3, 4, 28], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 186), fp: EncodedCountingMonoid(8, SumMonoid(855)) }, Fingerprint { range: Range(186, 265), fp: EncodedCountingMonoid(7, SumMonoid(1628)) }, Fingerprint { range: Range(265, 454), fp: EncodedCountingMonoid(14, SumMonoid(5205)) }, Fingerprint { range: Range(454, 592), fp: EncodedCountingMonoid(14, SumMonoid(7278)) }, Fingerprint { range: Range(592, 683), fp: EncodedCountingMonoid(8, SumMonoid(5121)) }, Fingerprint { range: Range(683, 774), fp: EncodedCountingMonoid(7, SumMonoid(5029)) }, Fingerprint { range: Range(774, 906), fp: EncodedCountingMonoid(14, SumMonoid(11820)) }, Fingerprint { range: Range(906, 962), fp: EncodedCountingMonoid(13, SumMonoid(12121)) }], item_sets: [], wants: [], provide: [(975, true), (999, true), (3, true), (4, true), (28, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(39, 158), fp: EncodedCountingMonoid(5, SumMonoid(389)) }, Fingerprint { range: Range(158, 186), fp: EncodedCountingMonoid(4, SumMonoid(675)) }, Fingerprint { range: Range(265, 364), fp: EncodedCountingMonoid(4, SumMonoid(1095)) }, Fingerprint { range: Range(364, 454), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(454, 551), fp: EncodedCountingMonoid(3, SumMonoid(1575)) }, Fingerprint { range: Range(592, 618), fp: EncodedCountingMonoid(3, SumMonoid(1812)) }, Fingerprint { range: Range(774, 880), fp: EncodedCountingMonoid(3, SumMonoid(2395)) }], item_sets: [ItemSet { range: Range(186, 222), items: [192, 205], want_response: true }, ItemSet { range: Range(222, 265), items: [222, 258], want_response: true }, ItemSet { range: Range(551, 592), items: [551, 557], want_response: true }, ItemSet { range: Range(618, 683), items: [618, 658], want_response: true }, ItemSet { range: Range(683, 774), items: [703, 732], want_response: true }, ItemSet { range: Range(880, 906), items: [880, 904], want_response: true }, ItemSet { range: Range(906, 962), items: [961], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(39, 98), fp: EncodedCountingMonoid(3, SumMonoid(159)) }, Fingerprint { range: Range(98, 158), fp: EncodedCountingMonoid(3, SumMonoid(353)) }, Fingerprint { range: Range(265, 324), fp: EncodedCountingMonoid(3, SumMonoid(870)) }, Fingerprint { range: Range(364, 415), fp: EncodedCountingMonoid(5, SumMonoid(1950)) }, Fingerprint { range: Range(415, 454), fp: EncodedCountingMonoid(4, SumMonoid(1703)) }, Fingerprint { range: Range(454, 526), fp: EncodedCountingMonoid(6, SumMonoid(2935)) }, Fingerprint { range: Range(526, 551), fp: EncodedCountingMonoid(6, SumMonoid(3217)) }, Fingerprint { range: Range(774, 834), fp: EncodedCountingMonoid(5, SumMonoid(3988)) }, Fingerprint { range: Range(834, 880), fp: EncodedCountingMonoid(5, SumMonoid(4270)) }], item_sets: [ItemSet { range: Range(186, 222), items: [186], want_response: false }, ItemSet { range: Range(222, 265), items: [223, 233, 235, 244, 246, 261], want_response: false }, ItemSet { range: Range(551, 592), items: [561, 565], want_response: false }, ItemSet { range: Range(618, 683), items: [627, 628, 633, 648, 653, 661, 679], want_response: false }, ItemSet { range: Range(683, 774), items: [683, 685, 686, 725, 737, 745, 768], want_response: false }, ItemSet { range: Range(880, 906), items: [880, 890, 891, 901], want_response: false }, ItemSet { range: Range(906, 962), items: [906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961], want_response: false }, ItemSet { range: Range(158, 186), items: [160, 183], want_response: true }, ItemSet { range: Range(324, 364), items: [324, 358], want_response: true }, ItemSet { range: Range(592, 618), items: [592], want_response: true }], wants: [192, 205, 222, 258, 551, 557, 618, 658, 703, 732, 904], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(158, 186), items: [158, 165, 171, 181], want_response: false }, ItemSet { range: Range(324, 364), items: [], want_response: false }, ItemSet { range: Range(592, 618), items: [592, 603, 617], want_response: false }, ItemSet { range: Range(39, 94), items: [39, 41], want_response: true }, ItemSet { range: Range(94, 98), items: [94], want_response: true }, ItemSet { range: Range(98, 158), items: [98, 117], want_response: true }, ItemSet { range: Range(265, 277), items: [265, 271], want_response: true }, ItemSet { range: Range(277, 324), items: [277, 282], want_response: true }, ItemSet { range: Range(364, 415), items: [364], want_response: true }, ItemSet { range: Range(415, 454), items: [416, 452], want_response: true }, ItemSet { range: Range(454, 526), items: [487], want_response: true }, ItemSet { range: Range(526, 551), items: [539, 549], want_response: true }, ItemSet { range: Range(774, 834), items: [774, 786], want_response: true }, ItemSet { range: Range(834, 880), items: [835], want_response: true }], wants: [186, 223, 233, 235, 244, 246, 261, 561, 565, 627, 628, 633, 648, 653, 661, 679, 683, 685, 686, 725, 737, 745, 768, 890, 891, 901, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 160, 183, 324, 358], provide: [(192, true), (205, true), (222, true), (258, true), (551, true), (557, true), (618, true), (658, true), (703, true), (732, true), (904, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(39, 94), items: [47, 49, 63], want_response: false }, ItemSet { range: Range(94, 98), items: [], want_response: false }, ItemSet { range: Range(98, 158), items: [98, 110, 145], want_response: false }, ItemSet { range: Range(265, 277), items: [266], want_response: false }, ItemSet { range: Range(277, 324), items: [283, 321], want_response: false }, ItemSet { range: Range(364, 415), items: [375, 382, 392, 393, 408], want_response: false }, ItemSet { range: Range(415, 454), items: [415, 418, 432, 438], want_response: false }, ItemSet { range: Range(454, 526), items: [454, 475, 489, 502, 507, 508], want_response: false }, ItemSet { range: Range(526, 551), items: [526, 532, 534, 537, 538, 550], want_response: false }, ItemSet { range: Range(774, 834), items: [777, 783, 796, 804, 828], want_response: false }, ItemSet { range: Range(834, 880), items: [834, 844, 854, 866, 872], want_response: false }], wants: [158, 165, 171, 181, 603, 617, 39, 41, 94, 117, 265, 271, 277, 282, 364, 416, 452, 487, 539, 549, 774, 786, 835], provide: [(186, true), (223, true), (233, true), (235, true), (244, true), (246, true), (261, true), (561, true), (565, true), (627, true), (628, true), (633, true), (648, true), (653, true), (661, true), (679, true), (683, true), (685, true), (686, true), (725, true), (737, true), (745, true), (768, true), (890, true), (891, true), (901, true), (906, true), (910, true), (911, true), (920, true), (924, true), (928, true), (932, true), (934, true), (935, true), (950, true), (952, true), (958, true), (160, true), (183, true), (324, true), (358, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [47, 49, 63, 110, 145, 266, 283, 321, 375, 382, 392, 393, 408, 415, 418, 432, 438, 454, 475, 489, 502, 507, 508, 526, 532, 534, 537, 538, 550, 777, 783, 796, 804, 828, 834, 844, 854, 866, 872], provide: [(158, true), (165, true), (171, true), (181, true), (603, true), (617, true), (39, true), (41, true), (94, true), (117, true), (265, true), (271, true), (277, true), (282, true), (364, true), (416, true), (452, true), (487, true), (539, true), (549, true), (774, true), (786, true), (835, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(47, true), (49, true), (63, true), (110, true), (145, true), (266, true), (283, true), (321, true), (375, true), (382, true), (392, true), (393, true), (408, true), (415, true), (418, true), (432, true), (438, true), (454, true), (475, true), (489, true), (502, true), (507, true), (508, true), (526, true), (532, true), (534, true), (537, true), (538, true), (550, true), (777, true), (783, true), (796, true), (804, true), (828, true), (834, true), (844, true), (854, true), (866, true), (872, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {39, 41, 94, 98, 117, 158, 165, 171, 181, 192, 205, 222, 258, 265, 271, 277, 282, 364, 416, 452, 487, 539, 549, 551, 557, 592, 603, 617, 618, 658, 703, 732, 774, 786, 835, 880, 904, 961} + [975, 999, 3, 4, 28, 186, 223, 233, 235, 244, 246, 261, 561, 565, 627, 628, 633, 648, 653, 661, 679, 683, 685, 686, 725, 737, 745, 768, 890, 891, 901, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 160, 183, 324, 358, 47, 49, 63, 110, 145, 266, 283, 321, 375, 382, 392, 393, 408, 415, 418, 432, 438, 454, 475, 489, 502, 507, 508, 526, 532, 534, 537, 538, 550, 777, 783, 796, 804, 828, 834, 844, 854, 866, 872] [INFO] [stdout] b all: {3, 4, 28, 47, 49, 63, 98, 110, 145, 160, 183, 186, 223, 233, 235, 244, 246, 261, 266, 283, 321, 324, 358, 375, 382, 392, 393, 408, 415, 418, 432, 438, 454, 475, 489, 502, 507, 508, 526, 532, 534, 537, 538, 550, 561, 565, 592, 627, 628, 633, 648, 653, 661, 679, 683, 685, 686, 725, 737, 745, 768, 777, 783, 796, 804, 828, 834, 844, 854, 866, 872, 880, 890, 891, 901, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961, 975, 999} + [192, 205, 222, 258, 551, 557, 618, 658, 703, 732, 904, 158, 165, 171, 181, 603, 617, 39, 41, 94, 117, 265, 271, 277, 282, 364, 416, 452, 487, 539, 549, 774, 786, 835] [INFO] [stdout] [INFO] [stdout] all vec: [3, 4, 28, 39, 41, 47, 49, 63, 94, 98, 110, 117, 145, 158, 160, 165, 171, 181, 183, 186, 192, 205, 222, 223, 233, 235, 244, 246, 258, 261, 265, 266, 271, 277, 282, 283, 321, 324, 358, 364, 375, 382, 392, 393, 408, 415, 416, 418, 432, 438, 452, 454, 475, 487, 489, 502, 507, 508, 526, 532, 534, 537, 538, 539, 549, 550, 551, 557, 561, 565, 592, 603, 617, 618, 627, 628, 633, 648, 653, 658, 661, 679, 683, 685, 686, 703, 725, 732, 737, 745, 768, 774, 777, 783, 786, 796, 804, 828, 834, 835, 844, 854, 866, 872, 880, 890, 891, 901, 904, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961, 975, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 4, 28, 39, 41, 47, 49, 63, 94, 98, 110, 117, 145, 158, 160, 165, 171, 181, 183, 186, 192, 205, 222, 223, 233, 235, 244, 246, 258, 261, 265, 266, 271, 277, 282, 283, 321, 324, 358, 364, 375, 382, 392, 393, 408, 415, 416, 418, 432, 438, 452, 454, 475, 487, 489, 502, 507, 508, 526, 532, 534, 537, 538, 539, 549, 550, 551, 557, 561, 565, 592, 603, 617, 618, 627, 628, 633, 648, 653, 658, 661, 679, 683, 685, 686, 703, 725, 732, 737, 745, 768, 774, 777, 783, 786, 796, 804, 828, 834, 835, 844, 854, 866, 872, 880, 890, 891, 901, 904, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961, 975, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 4, 28, 39, 41, 47, 49, 63, 94, 98, 110, 117, 145, 158, 160, 165, 171, 181, 183, 186, 192, 205, 222, 223, 233, 235, 244, 246, 258, 261, 265, 266, 271, 277, 282, 283, 321, 324, 358, 364, 375, 382, 392, 393, 408, 415, 416, 418, 432, 438, 452, 454, 475, 487, 489, 502, 507, 508, 526, 532, 534, 537, 538, 539, 549, 550, 551, 557, 561, 565, 592, 603, 617, 618, 627, 628, 633, 648, 653, 658, 661, 679, 683, 685, 686, 703, 725, 732, 737, 745, 768, 774, 777, 783, 786, 796, 804, 828, 834, 835, 844, 854, 866, 872, 880, 890, 891, 901, 904, 906, 910, 911, 920, 924, 928, 932, 934, 935, 950, 952, 958, 961, 975, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 18, 32, 49, 72, 82, 193, 195, 277, 283, 291, 327, 490, 499, 567, 573, 613, 630, 687, 722, 747, 837, 900, 910, 950} [INFO] [stdout] b items: {16, 56, 76, 79, 98, 126, 139, 185, 191, 192, 206, 225, 272, 285, 317, 387, 399, 422, 427, 433, 440, 454, 468, 499, 501, 572, 578, 604, 619, 620, 630, 690, 697, 703, 740, 745, 769, 777, 778, 795, 812, 820, 866, 882, 901, 909, 911, 949, 968, 973, 975, 985} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 951), fp: EncodedCountingMonoid(25, SumMonoid(10947)) }], item_sets: [ItemSet { range: Range(951, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 501), fp: EncodedCountingMonoid(24, SumMonoid(6392)) }, Fingerprint { range: Range(501, 951), fp: EncodedCountingMonoid(24, SumMonoid(17868)) }], item_sets: [ItemSet { range: Range(951, 3), items: [968, 973, 975, 985], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 195), fp: EncodedCountingMonoid(7, SumMonoid(449)) }, Fingerprint { range: Range(195, 501), fp: EncodedCountingMonoid(7, SumMonoid(2362)) }, Fingerprint { range: Range(501, 747), fp: EncodedCountingMonoid(6, SumMonoid(3792)) }, Fingerprint { range: Range(747, 951), fp: EncodedCountingMonoid(5, SumMonoid(4344)) }], item_sets: [], wants: [968, 973, 975, 985], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 126), fp: EncodedCountingMonoid(5, SumMonoid(325)) }, Fingerprint { range: Range(126, 195), fp: EncodedCountingMonoid(5, SumMonoid(833)) }, Fingerprint { range: Range(195, 422), fp: EncodedCountingMonoid(7, SumMonoid(2091)) }, Fingerprint { range: Range(422, 501), fp: EncodedCountingMonoid(7, SumMonoid(3143)) }, Fingerprint { range: Range(501, 630), fp: EncodedCountingMonoid(6, SumMonoid(3494)) }, Fingerprint { range: Range(630, 747), fp: EncodedCountingMonoid(6, SumMonoid(4205)) }, Fingerprint { range: Range(747, 866), fp: EncodedCountingMonoid(6, SumMonoid(4751)) }, Fingerprint { range: Range(866, 951), fp: EncodedCountingMonoid(6, SumMonoid(5418)) }], item_sets: [], wants: [], provide: [(968, true), (973, true), (975, true), (985, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 49), fp: EncodedCountingMonoid(3, SumMonoid(53)) }, Fingerprint { range: Range(49, 126), fp: EncodedCountingMonoid(3, SumMonoid(203)) }, Fingerprint { range: Range(195, 291), fp: EncodedCountingMonoid(3, SumMonoid(755)) }], item_sets: [ItemSet { range: Range(126, 195), items: [193], want_response: true }, ItemSet { range: Range(291, 422), items: [291, 327], want_response: true }, ItemSet { range: Range(422, 501), items: [490, 499], want_response: true }, ItemSet { range: Range(501, 613), items: [567, 573], want_response: true }, ItemSet { range: Range(613, 630), items: [613], want_response: true }, ItemSet { range: Range(630, 722), items: [630, 687], want_response: true }, ItemSet { range: Range(722, 747), items: [722], want_response: true }, ItemSet { range: Range(747, 866), items: [747, 837], want_response: true }, ItemSet { range: Range(866, 950), items: [900, 910], want_response: true }, ItemSet { range: Range(950, 951), items: [950], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(126, 195), items: [126, 139, 185, 191, 192], want_response: false }, ItemSet { range: Range(291, 422), items: [317, 387, 399], want_response: false }, ItemSet { range: Range(422, 501), items: [422, 427, 433, 440, 454, 468, 499], want_response: false }, ItemSet { range: Range(501, 613), items: [501, 572, 578, 604], want_response: false }, ItemSet { range: Range(613, 630), items: [619, 620], want_response: false }, ItemSet { range: Range(630, 722), items: [630, 690, 697, 703], want_response: false }, ItemSet { range: Range(722, 747), items: [740, 745], want_response: false }, ItemSet { range: Range(747, 866), items: [769, 777, 778, 795, 812, 820], want_response: false }, ItemSet { range: Range(866, 950), items: [866, 882, 901, 909, 911, 949], want_response: false }, ItemSet { range: Range(950, 951), items: [], want_response: false }, ItemSet { range: Range(3, 49), items: [16], want_response: true }, ItemSet { range: Range(49, 79), items: [56, 76], want_response: true }, ItemSet { range: Range(79, 126), items: [79, 98], want_response: true }, ItemSet { range: Range(195, 272), items: [206, 225], want_response: true }, ItemSet { range: Range(272, 291), items: [272, 285], want_response: true }], wants: [193, 291, 327, 490, 567, 573, 613, 687, 722, 747, 837, 900, 910, 950], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 49), items: [3, 18, 32], want_response: false }, ItemSet { range: Range(49, 79), items: [49, 72], want_response: false }, ItemSet { range: Range(79, 126), items: [82], want_response: false }, ItemSet { range: Range(195, 272), items: [195], want_response: false }, ItemSet { range: Range(272, 291), items: [277, 283], want_response: false }], wants: [126, 139, 185, 191, 192, 317, 387, 399, 422, 427, 433, 440, 454, 468, 501, 572, 578, 604, 619, 620, 690, 697, 703, 740, 745, 769, 777, 778, 795, 812, 820, 866, 882, 901, 909, 911, 949, 16, 56, 76, 79, 98, 206, 225, 272, 285], provide: [(193, true), (291, true), (327, true), (490, true), (567, true), (573, true), (613, true), (687, true), (722, true), (747, true), (837, true), (900, true), (910, true), (950, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [3, 18, 32, 49, 72, 82, 195, 277, 283], provide: [(126, true), (139, true), (185, true), (191, true), (192, true), (317, true), (387, true), (399, true), (422, true), (427, true), (433, true), (440, true), (454, true), (468, true), (501, true), (572, true), (578, true), (604, true), (619, true), (620, true), (690, true), (697, true), (703, true), (740, true), (745, true), (769, true), (777, true), (778, true), (795, true), (812, true), (820, true), (866, true), (882, true), (901, true), (909, true), (911, true), (949, true), (16, true), (56, true), (76, true), (79, true), (98, true), (206, true), (225, true), (272, true), (285, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(3, true), (18, true), (32, true), (49, true), (72, true), (82, true), (195, true), (277, true), (283, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 18, 32, 49, 72, 82, 193, 195, 277, 283, 291, 327, 490, 499, 567, 573, 613, 630, 687, 722, 747, 837, 900, 910, 950} + [968, 973, 975, 985, 126, 139, 185, 191, 192, 317, 387, 399, 422, 427, 433, 440, 454, 468, 501, 572, 578, 604, 619, 620, 690, 697, 703, 740, 745, 769, 777, 778, 795, 812, 820, 866, 882, 901, 909, 911, 949, 16, 56, 76, 79, 98, 206, 225, 272, 285] [INFO] [stdout] b all: {16, 56, 76, 79, 98, 126, 139, 185, 191, 192, 206, 225, 272, 285, 317, 387, 399, 422, 427, 433, 440, 454, 468, 499, 501, 572, 578, 604, 619, 620, 630, 690, 697, 703, 740, 745, 769, 777, 778, 795, 812, 820, 866, 882, 901, 909, 911, 949, 968, 973, 975, 985} + [193, 291, 327, 490, 567, 573, 613, 687, 722, 747, 837, 900, 910, 950, 3, 18, 32, 49, 72, 82, 195, 277, 283] [INFO] [stdout] [INFO] [stdout] all vec: [3, 16, 18, 32, 49, 56, 72, 76, 79, 82, 98, 126, 139, 185, 191, 192, 193, 195, 206, 225, 272, 277, 283, 285, 291, 317, 327, 387, 399, 422, 427, 433, 440, 454, 468, 490, 499, 501, 567, 572, 573, 578, 604, 613, 619, 620, 630, 687, 690, 697, 703, 722, 740, 745, 747, 769, 777, 778, 795, 812, 820, 837, 866, 882, 900, 901, 909, 910, 911, 949, 950, 968, 973, 975, 985] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 16, 18, 32, 49, 56, 72, 76, 79, 82, 98, 126, 139, 185, 191, 192, 193, 195, 206, 225, 272, 277, 283, 285, 291, 317, 327, 387, 399, 422, 427, 433, 440, 454, 468, 490, 499, 501, 567, 572, 573, 578, 604, 613, 619, 620, 630, 687, 690, 697, 703, 722, 740, 745, 747, 769, 777, 778, 795, 812, 820, 837, 866, 882, 900, 901, 909, 910, 911, 949, 950, 968, 973, 975, 985], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 16, 18, 32, 49, 56, 72, 76, 79, 82, 98, 126, 139, 185, 191, 192, 193, 195, 206, 225, 272, 277, 283, 285, 291, 317, 327, 387, 399, 422, 427, 433, 440, 454, 468, 490, 499, 501, 567, 572, 573, 578, 604, 613, 619, 620, 630, 687, 690, 697, 703, 722, 740, 745, 747, 769, 777, 778, 795, 812, 820, 837, 866, 882, 900, 901, 909, 910, 911, 949, 950, 968, 973, 975, 985], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {8, 9, 12, 43, 72, 76, 96, 111, 126, 129, 145, 178, 202, 216, 224, 246, 247, 248, 255, 262, 332, 333, 336, 345, 346, 392, 403, 406, 407, 416, 423, 427, 434, 459, 492, 540, 546, 591, 600, 608, 626, 627, 642, 645, 710, 711, 716, 754, 764, 784, 786, 787, 788, 803, 816, 827, 854, 870, 880, 899, 900, 953, 964, 965, 967, 974} [INFO] [stdout] b items: {14, 27, 37, 78, 118, 125, 148, 163, 176, 186, 198, 229, 239, 244, 265, 294, 310, 326, 338, 339, 358, 399, 427, 451, 452, 466, 472, 500, 540, 548, 575, 589, 628, 631, 647, 661, 664, 673, 674, 693, 712, 715, 719, 725, 728, 765, 766, 772, 797, 814, 832, 867, 878, 901, 911, 914, 918, 937, 960, 969, 984} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 975), fp: EncodedCountingMonoid(66, SumMonoid(32753)) }], item_sets: [ItemSet { range: Range(975, 8), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 575), fp: EncodedCountingMonoid(30, SumMonoid(8467)) }, Fingerprint { range: Range(575, 975), fp: EncodedCountingMonoid(30, SumMonoid(23035)) }], item_sets: [ItemSet { range: Range(975, 8), items: [984], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 262), fp: EncodedCountingMonoid(19, SumMonoid(2643)) }, Fingerprint { range: Range(262, 575), fp: EncodedCountingMonoid(18, SumMonoid(7299)) }, Fingerprint { range: Range(575, 788), fp: EncodedCountingMonoid(15, SumMonoid(10351)) }, Fingerprint { range: Range(788, 975), fp: EncodedCountingMonoid(14, SumMonoid(12460)) }], item_sets: [], wants: [984], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 163), fp: EncodedCountingMonoid(7, SumMonoid(547)) }, Fingerprint { range: Range(163, 262), fp: EncodedCountingMonoid(7, SumMonoid(1435)) }, Fingerprint { range: Range(262, 427), fp: EncodedCountingMonoid(8, SumMonoid(2629)) }, Fingerprint { range: Range(427, 575), fp: EncodedCountingMonoid(8, SumMonoid(3856)) }, Fingerprint { range: Range(575, 693), fp: EncodedCountingMonoid(9, SumMonoid(5742)) }, Fingerprint { range: Range(693, 788), fp: EncodedCountingMonoid(9, SumMonoid(6595)) }, Fingerprint { range: Range(788, 911), fp: EncodedCountingMonoid(6, SumMonoid(5089)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(6, SumMonoid(5609)) }], item_sets: [], wants: [], provide: [(984, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 96), fp: EncodedCountingMonoid(6, SumMonoid(220)) }, Fingerprint { range: Range(96, 163), fp: EncodedCountingMonoid(5, SumMonoid(607)) }, Fingerprint { range: Range(163, 246), fp: EncodedCountingMonoid(4, SumMonoid(820)) }, Fingerprint { range: Range(246, 262), fp: EncodedCountingMonoid(4, SumMonoid(996)) }, Fingerprint { range: Range(262, 392), fp: EncodedCountingMonoid(6, SumMonoid(1954)) }, Fingerprint { range: Range(392, 427), fp: EncodedCountingMonoid(6, SumMonoid(2447)) }, Fingerprint { range: Range(427, 492), fp: EncodedCountingMonoid(3, SumMonoid(1320)) }, Fingerprint { range: Range(492, 575), fp: EncodedCountingMonoid(3, SumMonoid(1578)) }, Fingerprint { range: Range(575, 627), fp: EncodedCountingMonoid(4, SumMonoid(2425)) }, Fingerprint { range: Range(627, 693), fp: EncodedCountingMonoid(3, SumMonoid(1914)) }, Fingerprint { range: Range(693, 764), fp: EncodedCountingMonoid(4, SumMonoid(2891)) }, Fingerprint { range: Range(764, 788), fp: EncodedCountingMonoid(4, SumMonoid(3121)) }, Fingerprint { range: Range(788, 870), fp: EncodedCountingMonoid(5, SumMonoid(4088)) }, Fingerprint { range: Range(870, 911), fp: EncodedCountingMonoid(4, SumMonoid(3549)) }, Fingerprint { range: Range(911, 967), fp: EncodedCountingMonoid(3, SumMonoid(2882)) }], item_sets: [ItemSet { range: Range(967, 975), items: [967, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(163, 229), fp: EncodedCountingMonoid(4, SumMonoid(723)) }, Fingerprint { range: Range(229, 246), fp: EncodedCountingMonoid(3, SumMonoid(712)) }, Fingerprint { range: Range(262, 338), fp: EncodedCountingMonoid(4, SumMonoid(1195)) }, Fingerprint { range: Range(338, 392), fp: EncodedCountingMonoid(3, SumMonoid(1035)) }, Fingerprint { range: Range(427, 466), fp: EncodedCountingMonoid(3, SumMonoid(1330)) }, Fingerprint { range: Range(627, 664), fp: EncodedCountingMonoid(4, SumMonoid(2567)) }, Fingerprint { range: Range(664, 693), fp: EncodedCountingMonoid(3, SumMonoid(2011)) }, Fingerprint { range: Range(693, 719), fp: EncodedCountingMonoid(3, SumMonoid(2120)) }, Fingerprint { range: Range(719, 764), fp: EncodedCountingMonoid(3, SumMonoid(2172)) }, Fingerprint { range: Range(911, 937), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }], item_sets: [ItemSet { range: Range(967, 975), items: [969], want_response: false }, ItemSet { range: Range(8, 37), items: [14, 27], want_response: true }, ItemSet { range: Range(37, 96), items: [37, 78], want_response: true }, ItemSet { range: Range(96, 148), items: [118, 125], want_response: true }, ItemSet { range: Range(148, 163), items: [148], want_response: true }, ItemSet { range: Range(246, 262), items: [], want_response: true }, ItemSet { range: Range(392, 427), items: [399], want_response: true }, ItemSet { range: Range(466, 492), items: [466, 472], want_response: true }, ItemSet { range: Range(492, 548), items: [500, 540], want_response: true }, ItemSet { range: Range(548, 575), items: [548], want_response: true }, ItemSet { range: Range(575, 627), items: [575, 589], want_response: true }, ItemSet { range: Range(764, 772), items: [765, 766], want_response: true }, ItemSet { range: Range(772, 788), items: [772], want_response: true }, ItemSet { range: Range(788, 832), items: [797, 814], want_response: true }, ItemSet { range: Range(832, 870), items: [832, 867], want_response: true }, ItemSet { range: Range(870, 911), items: [878, 901], want_response: true }, ItemSet { range: Range(937, 967), items: [937, 960], want_response: true }], wants: [967, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(8, 37), items: [8, 9, 12], want_response: false }, ItemSet { range: Range(37, 96), items: [43, 72, 76], want_response: false }, ItemSet { range: Range(96, 148), items: [96, 111, 126, 129, 145], want_response: false }, ItemSet { range: Range(148, 163), items: [], want_response: false }, ItemSet { range: Range(246, 262), items: [246, 247, 248, 255], want_response: false }, ItemSet { range: Range(392, 427), items: [392, 403, 406, 407, 416, 423], want_response: false }, ItemSet { range: Range(466, 492), items: [], want_response: false }, ItemSet { range: Range(492, 548), items: [492, 540, 546], want_response: false }, ItemSet { range: Range(548, 575), items: [], want_response: false }, ItemSet { range: Range(575, 627), items: [591, 600, 608, 626], want_response: false }, ItemSet { range: Range(764, 772), items: [764], want_response: false }, ItemSet { range: Range(772, 788), items: [784, 786, 787], want_response: false }, ItemSet { range: Range(788, 832), items: [788, 803, 816, 827], want_response: false }, ItemSet { range: Range(832, 870), items: [854], want_response: false }, ItemSet { range: Range(870, 911), items: [870, 880, 899, 900], want_response: false }, ItemSet { range: Range(937, 967), items: [953, 964, 965], want_response: false }, ItemSet { range: Range(163, 216), items: [178, 202], want_response: true }, ItemSet { range: Range(216, 229), items: [216, 224], want_response: true }, ItemSet { range: Range(229, 246), items: [], want_response: true }, ItemSet { range: Range(262, 333), items: [262, 332], want_response: true }, ItemSet { range: Range(333, 338), items: [333, 336], want_response: true }, ItemSet { range: Range(338, 392), items: [345, 346], want_response: true }, ItemSet { range: Range(427, 459), items: [427, 434], want_response: true }, ItemSet { range: Range(459, 466), items: [459], want_response: true }, ItemSet { range: Range(627, 645), items: [627, 642], want_response: true }, ItemSet { range: Range(645, 664), items: [645], want_response: true }, ItemSet { range: Range(664, 693), items: [], want_response: true }, ItemSet { range: Range(693, 716), items: [710, 711], want_response: true }, ItemSet { range: Range(716, 719), items: [716], want_response: true }, ItemSet { range: Range(719, 764), items: [754], want_response: true }, ItemSet { range: Range(911, 937), items: [], want_response: true }], wants: [969, 14, 27, 37, 78, 118, 125, 148, 399, 466, 472, 500, 548, 575, 589, 765, 766, 772, 797, 814, 832, 867, 878, 901, 937, 960], provide: [(967, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(163, 216), items: [163, 176, 186, 198], want_response: false }, ItemSet { range: Range(216, 229), items: [], want_response: false }, ItemSet { range: Range(229, 246), items: [229, 239, 244], want_response: false }, ItemSet { range: Range(262, 333), items: [265, 294, 310, 326], want_response: false }, ItemSet { range: Range(333, 338), items: [], want_response: false }, ItemSet { range: Range(338, 392), items: [338, 339, 358], want_response: false }, ItemSet { range: Range(427, 459), items: [427, 451, 452], want_response: false }, ItemSet { range: Range(459, 466), items: [], want_response: false }, ItemSet { range: Range(627, 645), items: [628, 631], want_response: false }, ItemSet { range: Range(645, 664), items: [647, 661], want_response: false }, ItemSet { range: Range(664, 693), items: [664, 673, 674], want_response: false }, ItemSet { range: Range(693, 716), items: [693, 712, 715], want_response: false }, ItemSet { range: Range(716, 719), items: [], want_response: false }, ItemSet { range: Range(719, 764), items: [719, 725, 728], want_response: false }, ItemSet { range: Range(911, 937), items: [911, 914, 918], want_response: false }], wants: [8, 9, 12, 43, 72, 76, 96, 111, 126, 129, 145, 246, 247, 248, 255, 392, 403, 406, 407, 416, 423, 492, 546, 591, 600, 608, 626, 764, 784, 786, 787, 788, 803, 816, 827, 854, 870, 880, 899, 900, 953, 964, 965, 178, 202, 216, 224, 262, 332, 333, 336, 345, 346, 434, 459, 627, 642, 645, 710, 711, 716, 754], provide: [(969, true), (14, true), (27, true), (37, true), (78, true), (118, true), (125, true), (148, true), (399, true), (466, true), (472, true), (500, true), (548, true), (575, true), (589, true), (765, true), (766, true), (772, true), (797, true), (814, true), (832, true), (867, true), (878, true), (901, true), (937, true), (960, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [163, 176, 186, 198, 229, 239, 244, 265, 294, 310, 326, 338, 339, 358, 451, 452, 628, 631, 647, 661, 664, 673, 674, 693, 712, 715, 719, 725, 728, 911, 914, 918], provide: [(8, true), (9, true), (12, true), (43, true), (72, true), (76, true), (96, true), (111, true), (126, true), (129, true), (145, true), (246, true), (247, true), (248, true), (255, true), (392, true), (403, true), (406, true), (407, true), (416, true), (423, true), (492, true), (546, true), (591, true), (600, true), (608, true), (626, true), (764, true), (784, true), (786, true), (787, true), (788, true), (803, true), (816, true), (827, true), (854, true), (870, true), (880, true), (899, true), (900, true), (953, true), (964, true), (965, true), (178, true), (202, true), (216, true), (224, true), (262, true), (332, true), (333, true), (336, true), (345, true), (346, true), (434, true), (459, true), (627, true), (642, true), (645, true), (710, true), (711, true), (716, true), (754, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(163, true), (176, true), (186, true), (198, true), (229, true), (239, true), (244, true), (265, true), (294, true), (310, true), (326, true), (338, true), (339, true), (358, true), (451, true), (452, true), (628, true), (631, true), (647, true), (661, true), (664, true), (673, true), (674, true), (693, true), (712, true), (715, true), (719, true), (725, true), (728, true), (911, true), (914, true), (918, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {8, 9, 12, 43, 72, 76, 96, 111, 126, 129, 145, 178, 202, 216, 224, 246, 247, 248, 255, 262, 332, 333, 336, 345, 346, 392, 403, 406, 407, 416, 423, 427, 434, 459, 492, 540, 546, 591, 600, 608, 626, 627, 642, 645, 710, 711, 716, 754, 764, 784, 786, 787, 788, 803, 816, 827, 854, 870, 880, 899, 900, 953, 964, 965, 967, 974} + [984, 969, 14, 27, 37, 78, 118, 125, 148, 399, 466, 472, 500, 548, 575, 589, 765, 766, 772, 797, 814, 832, 867, 878, 901, 937, 960, 163, 176, 186, 198, 229, 239, 244, 265, 294, 310, 326, 338, 339, 358, 451, 452, 628, 631, 647, 661, 664, 673, 674, 693, 712, 715, 719, 725, 728, 911, 914, 918] [INFO] [stdout] b all: {14, 27, 37, 78, 118, 125, 148, 163, 176, 186, 198, 229, 239, 244, 265, 294, 310, 326, 338, 339, 358, 399, 427, 451, 452, 466, 472, 500, 540, 548, 575, 589, 628, 631, 647, 661, 664, 673, 674, 693, 712, 715, 719, 725, 728, 765, 766, 772, 797, 814, 832, 867, 878, 901, 911, 914, 918, 937, 960, 969, 984} + [967, 974, 8, 9, 12, 43, 72, 76, 96, 111, 126, 129, 145, 246, 247, 248, 255, 392, 403, 406, 407, 416, 423, 492, 546, 591, 600, 608, 626, 764, 784, 786, 787, 788, 803, 816, 827, 854, 870, 880, 899, 900, 953, 964, 965, 178, 202, 216, 224, 262, 332, 333, 336, 345, 346, 434, 459, 627, 642, 645, 710, 711, 716, 754] [INFO] [stdout] [INFO] [stdout] all vec: [8, 9, 12, 14, 27, 37, 43, 72, 76, 78, 96, 111, 118, 125, 126, 129, 145, 148, 163, 176, 178, 186, 198, 202, 216, 224, 229, 239, 244, 246, 247, 248, 255, 262, 265, 294, 310, 326, 332, 333, 336, 338, 339, 345, 346, 358, 392, 399, 403, 406, 407, 416, 423, 427, 434, 451, 452, 459, 466, 472, 492, 500, 540, 546, 548, 575, 589, 591, 600, 608, 626, 627, 628, 631, 642, 645, 647, 661, 664, 673, 674, 693, 710, 711, 712, 715, 716, 719, 725, 728, 754, 764, 765, 766, 772, 784, 786, 787, 788, 797, 803, 814, 816, 827, 832, 854, 867, 870, 878, 880, 899, 900, 901, 911, 914, 918, 937, 953, 960, 964, 965, 967, 969, 974, 984] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 9, 12, 14, 27, 37, 43, 72, 76, 78, 96, 111, 118, 125, 126, 129, 145, 148, 163, 176, 178, 186, 198, 202, 216, 224, 229, 239, 244, 246, 247, 248, 255, 262, 265, 294, 310, 326, 332, 333, 336, 338, 339, 345, 346, 358, 392, 399, 403, 406, 407, 416, 423, 427, 434, 451, 452, 459, 466, 472, 492, 500, 540, 546, 548, 575, 589, 591, 600, 608, 626, 627, 628, 631, 642, 645, 647, 661, 664, 673, 674, 693, 710, 711, 712, 715, 716, 719, 725, 728, 754, 764, 765, 766, 772, 784, 786, 787, 788, 797, 803, 814, 816, 827, 832, 854, 867, 870, 878, 880, 899, 900, 901, 911, 914, 918, 937, 953, 960, 964, 965, 967, 969, 974, 984], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 9, 12, 14, 27, 37, 43, 72, 76, 78, 96, 111, 118, 125, 126, 129, 145, 148, 163, 176, 178, 186, 198, 202, 216, 224, 229, 239, 244, 246, 247, 248, 255, 262, 265, 294, 310, 326, 332, 333, 336, 338, 339, 345, 346, 358, 392, 399, 403, 406, 407, 416, 423, 427, 434, 451, 452, 459, 466, 472, 492, 500, 540, 546, 548, 575, 589, 591, 600, 608, 626, 627, 628, 631, 642, 645, 647, 661, 664, 673, 674, 693, 710, 711, 712, 715, 716, 719, 725, 728, 754, 764, 765, 766, 772, 784, 786, 787, 788, 797, 803, 814, 816, 827, 832, 854, 867, 870, 878, 880, 899, 900, 901, 911, 914, 918, 937, 953, 960, 964, 965, 967, 969, 974, 984], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {71, 77, 108, 146, 151, 153, 167, 174, 189, 195, 196, 245, 258, 267, 305, 310, 319, 324, 343, 422, 441, 443, 469, 476, 497, 510, 609, 646, 659, 684, 688, 712, 734, 762, 769, 814, 833, 841, 870, 873, 880, 896, 952} [INFO] [stdout] b items: {19, 44, 49, 50, 55, 65, 97, 109, 111, 120, 129, 143, 166, 176, 180, 190, 240, 245, 292, 330, 343, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 433, 448, 453, 503, 504, 506, 519, 520, 553, 567, 570, 596, 599, 607, 618, 635, 644, 645, 650, 652, 666, 667, 674, 687, 716, 750, 776, 791, 796, 811, 826, 832, 843, 850, 853, 859, 867, 876, 905, 906, 919, 939, 945, 955, 956, 971, 972, 973} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(71, 953), fp: EncodedCountingMonoid(43, SumMonoid(20478)) }], item_sets: [ItemSet { range: Range(953, 71), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(71, 567), fp: EncodedCountingMonoid(35, SumMonoid(11461)) }, Fingerprint { range: Range(567, 953), fp: EncodedCountingMonoid(34, SumMonoid(25537)) }], item_sets: [ItemSet { range: Range(953, 71), items: [955, 956, 971, 972, 973, 19, 44, 49, 50, 55, 65], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(71, 267), fp: EncodedCountingMonoid(13, SumMonoid(2130)) }, Fingerprint { range: Range(267, 567), fp: EncodedCountingMonoid(13, SumMonoid(5126)) }, Fingerprint { range: Range(567, 814), fp: EncodedCountingMonoid(9, SumMonoid(6263)) }, Fingerprint { range: Range(814, 953), fp: EncodedCountingMonoid(8, SumMonoid(6959)) }], item_sets: [], wants: [955, 956, 971, 972, 973, 19, 44, 49, 50, 55, 65], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(71, 166), fp: EncodedCountingMonoid(6, SumMonoid(709)) }, Fingerprint { range: Range(166, 267), fp: EncodedCountingMonoid(6, SumMonoid(1197)) }, Fingerprint { range: Range(267, 396), fp: EncodedCountingMonoid(12, SumMonoid(4317)) }, Fingerprint { range: Range(396, 567), fp: EncodedCountingMonoid(11, SumMonoid(5238)) }, Fingerprint { range: Range(567, 666), fp: EncodedCountingMonoid(11, SumMonoid(6783)) }, Fingerprint { range: Range(666, 814), fp: EncodedCountingMonoid(10, SumMonoid(7334)) }, Fingerprint { range: Range(814, 876), fp: EncodedCountingMonoid(7, SumMonoid(5930)) }, Fingerprint { range: Range(876, 953), fp: EncodedCountingMonoid(6, SumMonoid(5490)) }], item_sets: [], wants: [], provide: [(955, true), (956, true), (971, true), (972, true), (973, true), (19, true), (44, true), (49, true), (50, true), (55, true), (65, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(71, 146), fp: EncodedCountingMonoid(3, SumMonoid(256)) }, Fingerprint { range: Range(146, 166), fp: EncodedCountingMonoid(3, SumMonoid(450)) }, Fingerprint { range: Range(166, 196), fp: EncodedCountingMonoid(4, SumMonoid(725)) }, Fingerprint { range: Range(196, 267), fp: EncodedCountingMonoid(3, SumMonoid(699)) }, Fingerprint { range: Range(267, 319), fp: EncodedCountingMonoid(3, SumMonoid(882)) }, Fingerprint { range: Range(319, 396), fp: EncodedCountingMonoid(3, SumMonoid(986)) }, Fingerprint { range: Range(396, 476), fp: EncodedCountingMonoid(4, SumMonoid(1775)) }, Fingerprint { range: Range(476, 567), fp: EncodedCountingMonoid(3, SumMonoid(1483)) }, Fingerprint { range: Range(666, 734), fp: EncodedCountingMonoid(3, SumMonoid(2084)) }, Fingerprint { range: Range(734, 814), fp: EncodedCountingMonoid(3, SumMonoid(2265)) }, Fingerprint { range: Range(814, 870), fp: EncodedCountingMonoid(3, SumMonoid(2488)) }], item_sets: [ItemSet { range: Range(567, 659), items: [609, 646], want_response: true }, ItemSet { range: Range(659, 666), items: [659], want_response: true }, ItemSet { range: Range(870, 876), items: [870, 873], want_response: true }, ItemSet { range: Range(876, 952), items: [880, 896], want_response: true }, ItemSet { range: Range(952, 953), items: [952], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(71, 120), fp: EncodedCountingMonoid(3, SumMonoid(317)) }, Fingerprint { range: Range(120, 146), fp: EncodedCountingMonoid(3, SumMonoid(392)) }, Fingerprint { range: Range(319, 375), fp: EncodedCountingMonoid(6, SumMonoid(2104)) }, Fingerprint { range: Range(375, 396), fp: EncodedCountingMonoid(5, SumMonoid(1921)) }, Fingerprint { range: Range(396, 448), fp: EncodedCountingMonoid(3, SumMonoid(1232)) }, Fingerprint { range: Range(476, 519), fp: EncodedCountingMonoid(3, SumMonoid(1513)) }, Fingerprint { range: Range(519, 567), fp: EncodedCountingMonoid(3, SumMonoid(1592)) }, Fingerprint { range: Range(666, 687), fp: EncodedCountingMonoid(3, SumMonoid(2007)) }, Fingerprint { range: Range(734, 796), fp: EncodedCountingMonoid(3, SumMonoid(2317)) }, Fingerprint { range: Range(814, 853), fp: EncodedCountingMonoid(4, SumMonoid(3351)) }, Fingerprint { range: Range(853, 870), fp: EncodedCountingMonoid(3, SumMonoid(2579)) }], item_sets: [ItemSet { range: Range(567, 659), items: [567, 570, 596, 599, 607, 618, 635, 644, 645, 650, 652], want_response: false }, ItemSet { range: Range(659, 666), items: [], want_response: false }, ItemSet { range: Range(870, 876), items: [], want_response: false }, ItemSet { range: Range(876, 952), items: [876, 905, 906, 919, 939, 945], want_response: false }, ItemSet { range: Range(952, 953), items: [], want_response: false }, ItemSet { range: Range(146, 166), items: [], want_response: true }, ItemSet { range: Range(166, 180), items: [166, 176], want_response: true }, ItemSet { range: Range(180, 196), items: [180, 190], want_response: true }, ItemSet { range: Range(196, 267), items: [240, 245], want_response: true }, ItemSet { range: Range(267, 319), items: [292], want_response: true }, ItemSet { range: Range(448, 476), items: [448, 453], want_response: true }, ItemSet { range: Range(687, 734), items: [687, 716], want_response: true }, ItemSet { range: Range(796, 814), items: [796, 811], want_response: true }], wants: [609, 646, 659, 870, 873, 880, 896, 952], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(146, 166), items: [146, 151, 153], want_response: false }, ItemSet { range: Range(166, 180), items: [167, 174], want_response: false }, ItemSet { range: Range(180, 196), items: [189, 195], want_response: false }, ItemSet { range: Range(196, 267), items: [196, 245, 258], want_response: false }, ItemSet { range: Range(267, 319), items: [267, 305, 310], want_response: false }, ItemSet { range: Range(448, 476), items: [469], want_response: false }, ItemSet { range: Range(687, 734), items: [688, 712], want_response: false }, ItemSet { range: Range(796, 814), items: [], want_response: false }, ItemSet { range: Range(71, 108), items: [71, 77], want_response: true }, ItemSet { range: Range(108, 120), items: [108], want_response: true }, ItemSet { range: Range(120, 146), items: [], want_response: true }, ItemSet { range: Range(319, 343), items: [319, 324], want_response: true }, ItemSet { range: Range(343, 375), items: [343], want_response: true }, ItemSet { range: Range(375, 396), items: [], want_response: true }, ItemSet { range: Range(396, 443), items: [422, 441], want_response: true }, ItemSet { range: Range(443, 448), items: [443], want_response: true }, ItemSet { range: Range(476, 510), items: [476, 497], want_response: true }, ItemSet { range: Range(510, 519), items: [510], want_response: true }, ItemSet { range: Range(519, 567), items: [], want_response: true }, ItemSet { range: Range(666, 687), items: [684], want_response: true }, ItemSet { range: Range(734, 769), items: [734, 762], want_response: true }, ItemSet { range: Range(769, 796), items: [769], want_response: true }, ItemSet { range: Range(814, 841), items: [814, 833], want_response: true }, ItemSet { range: Range(841, 853), items: [841], want_response: true }, ItemSet { range: Range(853, 870), items: [], want_response: true }], wants: [567, 570, 596, 599, 607, 618, 635, 644, 645, 650, 652, 876, 905, 906, 919, 939, 945, 166, 176, 180, 190, 240, 292, 448, 453, 687, 716, 796, 811], provide: [(609, true), (646, true), (659, true), (870, true), (873, true), (880, true), (896, true), (952, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(71, 108), items: [97], want_response: false }, ItemSet { range: Range(108, 120), items: [109, 111], want_response: false }, ItemSet { range: Range(120, 146), items: [120, 129, 143], want_response: false }, ItemSet { range: Range(319, 343), items: [330], want_response: false }, ItemSet { range: Range(343, 375), items: [343, 349, 350, 361, 371], want_response: false }, ItemSet { range: Range(375, 396), items: [375, 378, 387, 389, 392], want_response: false }, ItemSet { range: Range(396, 443), items: [396, 403, 433], want_response: false }, ItemSet { range: Range(443, 448), items: [], want_response: false }, ItemSet { range: Range(476, 510), items: [503, 504, 506], want_response: false }, ItemSet { range: Range(510, 519), items: [], want_response: false }, ItemSet { range: Range(519, 567), items: [519, 520, 553], want_response: false }, ItemSet { range: Range(666, 687), items: [666, 667, 674], want_response: false }, ItemSet { range: Range(734, 769), items: [750], want_response: false }, ItemSet { range: Range(769, 796), items: [776, 791], want_response: false }, ItemSet { range: Range(814, 841), items: [826, 832], want_response: false }, ItemSet { range: Range(841, 853), items: [843, 850], want_response: false }, ItemSet { range: Range(853, 870), items: [853, 859, 867], want_response: false }], wants: [146, 151, 153, 167, 174, 189, 195, 196, 258, 267, 305, 310, 469, 688, 712, 71, 77, 108, 319, 324, 422, 441, 443, 476, 497, 510, 684, 734, 762, 769, 814, 833, 841], provide: [(567, true), (570, true), (596, true), (599, true), (607, true), (618, true), (635, true), (644, true), (645, true), (650, true), (652, true), (876, true), (905, true), (906, true), (919, true), (939, true), (945, true), (166, true), (176, true), (180, true), (190, true), (240, true), (292, true), (448, true), (453, true), (687, true), (716, true), (796, true), (811, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [97, 109, 111, 120, 129, 143, 330, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 433, 503, 504, 506, 519, 520, 553, 666, 667, 674, 750, 776, 791, 826, 832, 843, 850, 853, 859, 867], provide: [(146, true), (151, true), (153, true), (167, true), (174, true), (189, true), (195, true), (196, true), (258, true), (267, true), (305, true), (310, true), (469, true), (688, true), (712, true), (71, true), (77, true), (108, true), (319, true), (324, true), (422, true), (441, true), (443, true), (476, true), (497, true), (510, true), (684, true), (734, true), (762, true), (769, true), (814, true), (833, true), (841, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(97, true), (109, true), (111, true), (120, true), (129, true), (143, true), (330, true), (349, true), (350, true), (361, true), (371, true), (375, true), (378, true), (387, true), (389, true), (392, true), (396, true), (403, true), (433, true), (503, true), (504, true), (506, true), (519, true), (520, true), (553, true), (666, true), (667, true), (674, true), (750, true), (776, true), (791, true), (826, true), (832, true), (843, true), (850, true), (853, true), (859, true), (867, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {71, 77, 108, 146, 151, 153, 167, 174, 189, 195, 196, 245, 258, 267, 305, 310, 319, 324, 343, 422, 441, 443, 469, 476, 497, 510, 609, 646, 659, 684, 688, 712, 734, 762, 769, 814, 833, 841, 870, 873, 880, 896, 952} + [955, 956, 971, 972, 973, 19, 44, 49, 50, 55, 65, 567, 570, 596, 599, 607, 618, 635, 644, 645, 650, 652, 876, 905, 906, 919, 939, 945, 166, 176, 180, 190, 240, 292, 448, 453, 687, 716, 796, 811, 97, 109, 111, 120, 129, 143, 330, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 433, 503, 504, 506, 519, 520, 553, 666, 667, 674, 750, 776, 791, 826, 832, 843, 850, 853, 859, 867] [INFO] [stdout] b all: {19, 44, 49, 50, 55, 65, 97, 109, 111, 120, 129, 143, 166, 176, 180, 190, 240, 245, 292, 330, 343, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 433, 448, 453, 503, 504, 506, 519, 520, 553, 567, 570, 596, 599, 607, 618, 635, 644, 645, 650, 652, 666, 667, 674, 687, 716, 750, 776, 791, 796, 811, 826, 832, 843, 850, 853, 859, 867, 876, 905, 906, 919, 939, 945, 955, 956, 971, 972, 973} + [609, 646, 659, 870, 873, 880, 896, 952, 146, 151, 153, 167, 174, 189, 195, 196, 258, 267, 305, 310, 469, 688, 712, 71, 77, 108, 319, 324, 422, 441, 443, 476, 497, 510, 684, 734, 762, 769, 814, 833, 841] [INFO] [stdout] [INFO] [stdout] all vec: [19, 44, 49, 50, 55, 65, 71, 77, 97, 108, 109, 111, 120, 129, 143, 146, 151, 153, 166, 167, 174, 176, 180, 189, 190, 195, 196, 240, 245, 258, 267, 292, 305, 310, 319, 324, 330, 343, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 422, 433, 441, 443, 448, 453, 469, 476, 497, 503, 504, 506, 510, 519, 520, 553, 567, 570, 596, 599, 607, 609, 618, 635, 644, 645, 646, 650, 652, 659, 666, 667, 674, 684, 687, 688, 712, 716, 734, 750, 762, 769, 776, 791, 796, 811, 814, 826, 832, 833, 841, 843, 850, 853, 859, 867, 870, 873, 876, 880, 896, 905, 906, 919, 939, 945, 952, 955, 956, 971, 972, 973] [INFO] [stdout] [INFO] [stdout] a all vec: [19, 44, 49, 50, 55, 65, 71, 77, 97, 108, 109, 111, 120, 129, 143, 146, 151, 153, 166, 167, 174, 176, 180, 189, 190, 195, 196, 240, 245, 258, 267, 292, 305, 310, 319, 324, 330, 343, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 422, 433, 441, 443, 448, 453, 469, 476, 497, 503, 504, 506, 510, 519, 520, 553, 567, 570, 596, 599, 607, 609, 618, 635, 644, 645, 646, 650, 652, 659, 666, 667, 674, 684, 687, 688, 712, 716, 734, 750, 762, 769, 776, 791, 796, 811, 814, 826, 832, 833, 841, 843, 850, 853, 859, 867, 870, 873, 876, 880, 896, 905, 906, 919, 939, 945, 952, 955, 956, 971, 972, 973], true true [INFO] [stdout] [INFO] [stdout] b all vec: [19, 44, 49, 50, 55, 65, 71, 77, 97, 108, 109, 111, 120, 129, 143, 146, 151, 153, 166, 167, 174, 176, 180, 189, 190, 195, 196, 240, 245, 258, 267, 292, 305, 310, 319, 324, 330, 343, 349, 350, 361, 371, 375, 378, 387, 389, 392, 396, 403, 422, 433, 441, 443, 448, 453, 469, 476, 497, 503, 504, 506, 510, 519, 520, 553, 567, 570, 596, 599, 607, 609, 618, 635, 644, 645, 646, 650, 652, 659, 666, 667, 674, 684, 687, 688, 712, 716, 734, 750, 762, 769, 776, 791, 796, 811, 814, 826, 832, 833, 841, 843, 850, 853, 859, 867, 870, 873, 876, 880, 896, 905, 906, 919, 939, 945, 952, 955, 956, 971, 972, 973], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {9, 107, 218, 223, 254, 318, 366, 409, 470, 576, 670, 757, 821, 828, 892} [INFO] [stdout] b items: {30, 32, 43, 48, 57, 72, 83, 99, 111, 121, 123, 174, 189, 206, 209, 214, 215, 222, 224, 228, 240, 251, 254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318, 320, 339, 367, 369, 374, 377, 381, 396, 402, 419, 422, 424, 437, 441, 453, 455, 463, 476, 489, 528, 533, 553, 555, 558, 563, 575, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813, 821, 825, 861, 872, 880, 917, 922, 937, 943, 954, 968, 978, 993} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 893), fp: EncodedCountingMonoid(15, SumMonoid(6918)) }], item_sets: [ItemSet { range: Range(893, 9), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 422), fp: EncodedCountingMonoid(43, SumMonoid(10106)) }, Fingerprint { range: Range(422, 893), fp: EncodedCountingMonoid(43, SumMonoid(27370)) }], item_sets: [ItemSet { range: Range(893, 9), items: [917, 922, 937, 943, 954, 968, 978, 993], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 254), fp: EncodedCountingMonoid(4, SumMonoid(557)) }, Fingerprint { range: Range(254, 422), fp: EncodedCountingMonoid(4, SumMonoid(1347)) }, Fingerprint { range: Range(422, 821), fp: EncodedCountingMonoid(4, SumMonoid(2473)) }, Fingerprint { range: Range(821, 893), fp: EncodedCountingMonoid(3, SumMonoid(2541)) }], item_sets: [], wants: [917, 922, 937, 943, 954, 968, 978, 993], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 174), fp: EncodedCountingMonoid(11, SumMonoid(819)) }, Fingerprint { range: Range(174, 254), fp: EncodedCountingMonoid(11, SumMonoid(2372)) }, Fingerprint { range: Range(254, 320), fp: EncodedCountingMonoid(11, SumMonoid(3171)) }, Fingerprint { range: Range(320, 422), fp: EncodedCountingMonoid(10, SumMonoid(3744)) }, Fingerprint { range: Range(422, 612), fp: EncodedCountingMonoid(19, SumMonoid(9692)) }, Fingerprint { range: Range(612, 821), fp: EncodedCountingMonoid(19, SumMonoid(13419)) }, Fingerprint { range: Range(821, 872), fp: EncodedCountingMonoid(3, SumMonoid(2507)) }], item_sets: [ItemSet { range: Range(872, 893), items: [872, 880], want_response: true }], wants: [], provide: [(917, true), (922, true), (937, true), (943, true), (954, true), (968, true), (978, true), (993, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(872, 893), items: [892], want_response: false }, ItemSet { range: Range(9, 174), items: [9, 107], want_response: true }, ItemSet { range: Range(174, 254), items: [218, 223], want_response: true }, ItemSet { range: Range(254, 320), items: [254, 318], want_response: true }, ItemSet { range: Range(320, 422), items: [366, 409], want_response: true }, ItemSet { range: Range(422, 612), items: [470, 576], want_response: true }, ItemSet { range: Range(612, 821), items: [670, 757], want_response: true }, ItemSet { range: Range(821, 872), items: [821, 828], want_response: true }], wants: [872, 880], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(9, 174), items: [30, 32, 43, 48, 57, 72, 83, 99, 111, 121, 123], want_response: false }, ItemSet { range: Range(174, 254), items: [174, 189, 206, 209, 214, 215, 222, 224, 228, 240, 251], want_response: false }, ItemSet { range: Range(254, 320), items: [254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318], want_response: false }, ItemSet { range: Range(320, 422), items: [320, 339, 367, 369, 374, 377, 381, 396, 402, 419], want_response: false }, ItemSet { range: Range(422, 612), items: [422, 424, 437, 441, 453, 455, 463, 476, 489, 528, 533, 553, 555, 558, 563, 575, 587, 588, 592], want_response: false }, ItemSet { range: Range(612, 821), items: [612, 642, 643, 644, 656, 657, 666, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813], want_response: false }, ItemSet { range: Range(821, 872), items: [821, 825, 861], want_response: false }], wants: [892, 9, 107, 218, 223, 366, 409, 470, 576, 670, 828], provide: [(872, true), (880, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [30, 32, 43, 48, 57, 72, 83, 99, 111, 121, 123, 174, 189, 206, 209, 214, 215, 222, 224, 228, 240, 251, 256, 272, 274, 285, 290, 302, 305, 306, 309, 320, 339, 367, 369, 374, 377, 381, 396, 402, 419, 422, 424, 437, 441, 453, 455, 463, 476, 489, 528, 533, 553, 555, 558, 563, 575, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 674, 676, 686, 691, 716, 756, 762, 774, 790, 804, 813, 825, 861], provide: [(892, true), (9, true), (107, true), (218, true), (223, true), (366, true), (409, true), (470, true), (576, true), (670, true), (828, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(30, true), (32, true), (43, true), (48, true), (57, true), (72, true), (83, true), (99, true), (111, true), (121, true), (123, true), (174, true), (189, true), (206, true), (209, true), (214, true), (215, true), (222, true), (224, true), (228, true), (240, true), (251, true), (256, true), (272, true), (274, true), (285, true), (290, true), (302, true), (305, true), (306, true), (309, true), (320, true), (339, true), (367, true), (369, true), (374, true), (377, true), (381, true), (396, true), (402, true), (419, true), (422, true), (424, true), (437, true), (441, true), (453, true), (455, true), (463, true), (476, true), (489, true), (528, true), (533, true), (553, true), (555, true), (558, true), (563, true), (575, true), (587, true), (588, true), (592, true), (612, true), (642, true), (643, true), (644, true), (656, true), (657, true), (666, true), (674, true), (676, true), (686, true), (691, true), (716, true), (756, true), (762, true), (774, true), (790, true), (804, true), (813, true), (825, true), (861, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {9, 107, 218, 223, 254, 318, 366, 409, 470, 576, 670, 757, 821, 828, 892} + [917, 922, 937, 943, 954, 968, 978, 993, 872, 880, 30, 32, 43, 48, 57, 72, 83, 99, 111, 121, 123, 174, 189, 206, 209, 214, 215, 222, 224, 228, 240, 251, 256, 272, 274, 285, 290, 302, 305, 306, 309, 320, 339, 367, 369, 374, 377, 381, 396, 402, 419, 422, 424, 437, 441, 453, 455, 463, 476, 489, 528, 533, 553, 555, 558, 563, 575, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 674, 676, 686, 691, 716, 756, 762, 774, 790, 804, 813, 825, 861] [INFO] [stdout] b all: {30, 32, 43, 48, 57, 72, 83, 99, 111, 121, 123, 174, 189, 206, 209, 214, 215, 222, 224, 228, 240, 251, 254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318, 320, 339, 367, 369, 374, 377, 381, 396, 402, 419, 422, 424, 437, 441, 453, 455, 463, 476, 489, 528, 533, 553, 555, 558, 563, 575, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813, 821, 825, 861, 872, 880, 917, 922, 937, 943, 954, 968, 978, 993} + [892, 9, 107, 218, 223, 366, 409, 470, 576, 670, 828] [INFO] [stdout] [INFO] [stdout] all vec: [9, 30, 32, 43, 48, 57, 72, 83, 99, 107, 111, 121, 123, 174, 189, 206, 209, 214, 215, 218, 222, 223, 224, 228, 240, 251, 254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318, 320, 339, 366, 367, 369, 374, 377, 381, 396, 402, 409, 419, 422, 424, 437, 441, 453, 455, 463, 470, 476, 489, 528, 533, 553, 555, 558, 563, 575, 576, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 670, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813, 821, 825, 828, 861, 872, 880, 892, 917, 922, 937, 943, 954, 968, 978, 993] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 30, 32, 43, 48, 57, 72, 83, 99, 107, 111, 121, 123, 174, 189, 206, 209, 214, 215, 218, 222, 223, 224, 228, 240, 251, 254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318, 320, 339, 366, 367, 369, 374, 377, 381, 396, 402, 409, 419, 422, 424, 437, 441, 453, 455, 463, 470, 476, 489, 528, 533, 553, 555, 558, 563, 575, 576, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 670, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813, 821, 825, 828, 861, 872, 880, 892, 917, 922, 937, 943, 954, 968, 978, 993], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 30, 32, 43, 48, 57, 72, 83, 99, 107, 111, 121, 123, 174, 189, 206, 209, 214, 215, 218, 222, 223, 224, 228, 240, 251, 254, 256, 272, 274, 285, 290, 302, 305, 306, 309, 318, 320, 339, 366, 367, 369, 374, 377, 381, 396, 402, 409, 419, 422, 424, 437, 441, 453, 455, 463, 470, 476, 489, 528, 533, 553, 555, 558, 563, 575, 576, 587, 588, 592, 612, 642, 643, 644, 656, 657, 666, 670, 674, 676, 686, 691, 716, 756, 757, 762, 774, 790, 804, 813, 821, 825, 828, 861, 872, 880, 892, 917, 922, 937, 943, 954, 968, 978, 993], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {22, 38, 47, 74, 87, 104, 111, 114, 126, 184, 224, 262, 268, 280, 288, 298, 299, 313, 316, 334, 339, 352, 361, 384, 385, 408, 416, 426, 442, 465, 517, 542, 598, 604, 635, 636, 654, 665, 670, 680, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 851, 874, 933, 946, 980, 990} [INFO] [stdout] b items: {3, 8, 63, 216, 290, 327, 354, 360, 416, 616, 705, 716, 844, 931} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 991), fp: EncodedCountingMonoid(57, SumMonoid(28104)) }], item_sets: [ItemSet { range: Range(991, 22), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 416), fp: EncodedCountingMonoid(6, SumMonoid(1610)) }, Fingerprint { range: Range(416, 991), fp: EncodedCountingMonoid(6, SumMonoid(4228)) }], item_sets: [ItemSet { range: Range(991, 22), items: [3, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 280), fp: EncodedCountingMonoid(13, SumMonoid(1661)) }, Fingerprint { range: Range(280, 416), fp: EncodedCountingMonoid(13, SumMonoid(4357)) }, Fingerprint { range: Range(416, 734), fp: EncodedCountingMonoid(16, SumMonoid(9389)) }, Fingerprint { range: Range(734, 991), fp: EncodedCountingMonoid(15, SumMonoid(12697)) }], item_sets: [], wants: [3, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(22, 280), items: [63, 216], want_response: true }, ItemSet { range: Range(280, 354), items: [290, 327], want_response: true }, ItemSet { range: Range(354, 416), items: [354, 360], want_response: true }, ItemSet { range: Range(416, 705), items: [416, 616], want_response: true }, ItemSet { range: Range(705, 734), items: [705, 716], want_response: true }, ItemSet { range: Range(734, 991), items: [844, 931], want_response: true }], wants: [], provide: [(3, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(22, 280), items: [22, 38, 47, 74, 87, 104, 111, 114, 126, 184, 224, 262, 268], want_response: false }, ItemSet { range: Range(280, 354), items: [280, 288, 298, 299, 313, 316, 334, 339, 352], want_response: false }, ItemSet { range: Range(354, 416), items: [361, 384, 385, 408], want_response: false }, ItemSet { range: Range(416, 705), items: [416, 426, 442, 465, 517, 542, 598, 604, 635, 636, 654, 665, 670, 680], want_response: false }, ItemSet { range: Range(705, 734), items: [718, 721], want_response: false }, ItemSet { range: Range(734, 991), items: [734, 744, 759, 776, 799, 813, 825, 835, 838, 851, 874, 933, 946, 980, 990], want_response: false }], wants: [63, 216, 290, 327, 354, 360, 616, 705, 716, 844, 931], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [22, 38, 47, 74, 87, 104, 111, 114, 126, 184, 224, 262, 268, 280, 288, 298, 299, 313, 316, 334, 339, 352, 361, 384, 385, 408, 426, 442, 465, 517, 542, 598, 604, 635, 636, 654, 665, 670, 680, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 851, 874, 933, 946, 980, 990], provide: [(63, true), (216, true), (290, true), (327, true), (354, true), (360, true), (616, true), (705, true), (716, true), (844, true), (931, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(22, true), (38, true), (47, true), (74, true), (87, true), (104, true), (111, true), (114, true), (126, true), (184, true), (224, true), (262, true), (268, true), (280, true), (288, true), (298, true), (299, true), (313, true), (316, true), (334, true), (339, true), (352, true), (361, true), (384, true), (385, true), (408, true), (426, true), (442, true), (465, true), (517, true), (542, true), (598, true), (604, true), (635, true), (636, true), (654, true), (665, true), (670, true), (680, true), (718, true), (721, true), (734, true), (744, true), (759, true), (776, true), (799, true), (813, true), (825, true), (835, true), (838, true), (851, true), (874, true), (933, true), (946, true), (980, true), (990, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {22, 38, 47, 74, 87, 104, 111, 114, 126, 184, 224, 262, 268, 280, 288, 298, 299, 313, 316, 334, 339, 352, 361, 384, 385, 408, 416, 426, 442, 465, 517, 542, 598, 604, 635, 636, 654, 665, 670, 680, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 851, 874, 933, 946, 980, 990} + [3, 8, 63, 216, 290, 327, 354, 360, 616, 705, 716, 844, 931] [INFO] [stdout] b all: {3, 8, 63, 216, 290, 327, 354, 360, 416, 616, 705, 716, 844, 931} + [22, 38, 47, 74, 87, 104, 111, 114, 126, 184, 224, 262, 268, 280, 288, 298, 299, 313, 316, 334, 339, 352, 361, 384, 385, 408, 426, 442, 465, 517, 542, 598, 604, 635, 636, 654, 665, 670, 680, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 851, 874, 933, 946, 980, 990] [INFO] [stdout] [INFO] [stdout] all vec: [3, 8, 22, 38, 47, 63, 74, 87, 104, 111, 114, 126, 184, 216, 224, 262, 268, 280, 288, 290, 298, 299, 313, 316, 327, 334, 339, 352, 354, 360, 361, 384, 385, 408, 416, 426, 442, 465, 517, 542, 598, 604, 616, 635, 636, 654, 665, 670, 680, 705, 716, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 844, 851, 874, 931, 933, 946, 980, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 8, 22, 38, 47, 63, 74, 87, 104, 111, 114, 126, 184, 216, 224, 262, 268, 280, 288, 290, 298, 299, 313, 316, 327, 334, 339, 352, 354, 360, 361, 384, 385, 408, 416, 426, 442, 465, 517, 542, 598, 604, 616, 635, 636, 654, 665, 670, 680, 705, 716, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 844, 851, 874, 931, 933, 946, 980, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 8, 22, 38, 47, 63, 74, 87, 104, 111, 114, 126, 184, 216, 224, 262, 268, 280, 288, 290, 298, 299, 313, 316, 327, 334, 339, 352, 354, 360, 361, 384, 385, 408, 416, 426, 442, 465, 517, 542, 598, 604, 616, 635, 636, 654, 665, 670, 680, 705, 716, 718, 721, 734, 744, 759, 776, 799, 813, 825, 835, 838, 844, 851, 874, 931, 933, 946, 980, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {521, 694} [INFO] [stdout] b items: {116, 138, 655, 679, 875} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(521, 695), fp: EncodedCountingMonoid(2, SumMonoid(1215)) }], item_sets: [ItemSet { range: Range(695, 521), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(695, 521), items: [875, 116, 138], want_response: false }, ItemSet { range: Range(521, 695), items: [655, 679], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(521, 695), items: [521, 694], want_response: false }], wants: [875, 116, 138, 655, 679], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [521, 694], provide: [(875, true), (116, true), (138, true), (655, true), (679, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(521, true), (694, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {521, 694} + [875, 116, 138, 655, 679] [INFO] [stdout] b all: {116, 138, 655, 679, 875} + [521, 694] [INFO] [stdout] [INFO] [stdout] all vec: [116, 138, 521, 655, 679, 694, 875] [INFO] [stdout] [INFO] [stdout] a all vec: [116, 138, 521, 655, 679, 694, 875], true true [INFO] [stdout] [INFO] [stdout] b all vec: [116, 138, 521, 655, 679, 694, 875], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 110, 128, 130, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 758, 785, 797, 799, 802, 805, 827, 837, 845, 851, 854, 857, 867, 880, 884, 900, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998} [INFO] [stdout] b items: {107, 141, 746, 841, 903} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 999), fp: EncodedCountingMonoid(87, SumMonoid(44681)) }], item_sets: [ItemSet { range: Range(999, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 841), fp: EncodedCountingMonoid(3, SumMonoid(994)) }], item_sets: [ItemSet { range: Range(999, 1), items: [], want_response: false }, ItemSet { range: Range(841, 999), items: [841, 903], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 402), fp: EncodedCountingMonoid(34, SumMonoid(6261)) }, Fingerprint { range: Range(402, 841), fp: EncodedCountingMonoid(34, SumMonoid(21086)) }], item_sets: [ItemSet { range: Range(841, 999), items: [845, 851, 854, 857, 867, 880, 884, 900, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998], want_response: false }], wants: [841, 903], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 402), items: [107, 141], want_response: true }, ItemSet { range: Range(402, 841), items: [746], want_response: true }], wants: [845, 851, 854, 857, 867, 880, 884, 900, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998], provide: [(841, true), (903, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 402), items: [1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 110, 128, 130, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365], want_response: false }, ItemSet { range: Range(402, 841), items: [402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 758, 785, 797, 799, 802, 805, 827, 837], want_response: false }], wants: [107, 141, 746], provide: [(845, true), (851, true), (854, true), (857, true), (867, true), (880, true), (884, true), (900, true), (907, true), (914, true), (917, true), (921, true), (944, true), (948, true), (950, true), (955, true), (962, true), (980, true), (998, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 110, 128, 130, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 758, 785, 797, 799, 802, 805, 827, 837], provide: [(107, true), (141, true), (746, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (37, true), (69, true), (73, true), (79, true), (86, true), (101, true), (102, true), (105, true), (106, true), (110, true), (128, true), (130, true), (148, true), (149, true), (152, true), (173, true), (178, true), (189, true), (217, true), (239, true), (244, true), (246, true), (251, true), (252, true), (254, true), (256, true), (262, true), (276, true), (281, true), (290, true), (350, true), (362, true), (365, true), (402, true), (407, true), (413, true), (419, true), (429, true), (436, true), (446, true), (456, true), (467, true), (508, true), (527, true), (550, true), (569, true), (583, true), (612, true), (630, true), (640, true), (654, true), (657, true), (659, true), (668, true), (672, true), (700, true), (722, true), (724, true), (726, true), (758, true), (785, true), (797, true), (799, true), (802, true), (805, true), (827, true), (837, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 110, 128, 130, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 758, 785, 797, 799, 802, 805, 827, 837, 845, 851, 854, 857, 867, 880, 884, 900, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998} + [841, 903, 107, 141, 746] [INFO] [stdout] b all: {107, 141, 746, 841, 903} + [845, 851, 854, 857, 867, 880, 884, 900, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998, 1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 110, 128, 130, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 758, 785, 797, 799, 802, 805, 827, 837] [INFO] [stdout] [INFO] [stdout] all vec: [1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 107, 110, 128, 130, 141, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 746, 758, 785, 797, 799, 802, 805, 827, 837, 841, 845, 851, 854, 857, 867, 880, 884, 900, 903, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 107, 110, 128, 130, 141, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 746, 758, 785, 797, 799, 802, 805, 827, 837, 841, 845, 851, 854, 857, 867, 880, 884, 900, 903, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 37, 69, 73, 79, 86, 101, 102, 105, 106, 107, 110, 128, 130, 141, 148, 149, 152, 173, 178, 189, 217, 239, 244, 246, 251, 252, 254, 256, 262, 276, 281, 290, 350, 362, 365, 402, 407, 413, 419, 429, 436, 446, 456, 467, 508, 527, 550, 569, 583, 612, 630, 640, 654, 657, 659, 668, 672, 700, 722, 724, 726, 746, 758, 785, 797, 799, 802, 805, 827, 837, 841, 845, 851, 854, 857, 867, 880, 884, 900, 903, 907, 914, 917, 921, 944, 948, 950, 955, 962, 980, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 51, 62, 72, 77, 81, 95, 101, 230, 276, 337, 338, 342, 376, 395, 413, 453, 559, 579, 652, 680, 689, 716, 718, 719, 756, 765, 767, 770, 786, 842, 859, 881, 888, 894, 931, 933, 950, 955} [INFO] [stdout] b items: {5, 16, 22, 25, 39, 73, 101, 110, 121, 127, 128, 130, 165, 168, 171, 185, 190, 199, 236, 253, 255, 265, 283, 287, 294, 312, 318, 321, 327, 333, 344, 377, 378, 386, 421, 431, 445, 446, 448, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 572, 583, 584, 586, 587, 588, 591, 602, 616, 620, 626, 637, 645, 667, 678, 681, 695, 721, 728, 763, 768, 820, 821, 857, 861, 870, 879, 884, 897, 906, 919, 923, 924, 941, 945, 957, 959, 962, 970} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 956), fp: EncodedCountingMonoid(39, SumMonoid(21017)) }], item_sets: [ItemSet { range: Range(956, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 513), fp: EncodedCountingMonoid(40, SumMonoid(11421)) }, Fingerprint { range: Range(513, 956), fp: EncodedCountingMonoid(40, SumMonoid(28636)) }], item_sets: [ItemSet { range: Range(956, 29), items: [957, 959, 962, 970, 5, 16, 22, 25], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 276), fp: EncodedCountingMonoid(9, SumMonoid(798)) }, Fingerprint { range: Range(276, 513), fp: EncodedCountingMonoid(8, SumMonoid(2930)) }, Fingerprint { range: Range(513, 770), fp: EncodedCountingMonoid(11, SumMonoid(7600)) }, Fingerprint { range: Range(770, 956), fp: EncodedCountingMonoid(11, SumMonoid(9689)) }], item_sets: [], wants: [957, 959, 962, 970, 5, 16, 22, 25], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 168), fp: EncodedCountingMonoid(9, SumMonoid(994)) }, Fingerprint { range: Range(168, 276), fp: EncodedCountingMonoid(9, SumMonoid(1922)) }, Fingerprint { range: Range(276, 386), fp: EncodedCountingMonoid(11, SumMonoid(3574)) }, Fingerprint { range: Range(386, 513), fp: EncodedCountingMonoid(11, SumMonoid(4931)) }, Fingerprint { range: Range(513, 616), fp: EncodedCountingMonoid(13, SumMonoid(7344)) }, Fingerprint { range: Range(616, 770), fp: EncodedCountingMonoid(13, SumMonoid(8845)) }, Fingerprint { range: Range(770, 897), fp: EncodedCountingMonoid(7, SumMonoid(5992)) }, Fingerprint { range: Range(897, 956), fp: EncodedCountingMonoid(7, SumMonoid(6455)) }], item_sets: [], wants: [], provide: [(957, true), (959, true), (962, true), (970, true), (5, true), (16, true), (22, true), (25, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 77), fp: EncodedCountingMonoid(4, SumMonoid(214)) }, Fingerprint { range: Range(77, 168), fp: EncodedCountingMonoid(4, SumMonoid(354)) }, Fingerprint { range: Range(276, 342), fp: EncodedCountingMonoid(3, SumMonoid(951)) }, Fingerprint { range: Range(616, 719), fp: EncodedCountingMonoid(5, SumMonoid(3455)) }, Fingerprint { range: Range(719, 770), fp: EncodedCountingMonoid(4, SumMonoid(3007)) }, Fingerprint { range: Range(770, 881), fp: EncodedCountingMonoid(4, SumMonoid(3257)) }, Fingerprint { range: Range(881, 897), fp: EncodedCountingMonoid(3, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(168, 276), items: [230], want_response: true }, ItemSet { range: Range(342, 386), items: [342, 376], want_response: true }, ItemSet { range: Range(386, 453), items: [395, 413], want_response: true }, ItemSet { range: Range(453, 513), items: [453], want_response: true }, ItemSet { range: Range(513, 616), items: [559, 579], want_response: true }, ItemSet { range: Range(897, 950), items: [931, 933], want_response: true }, ItemSet { range: Range(950, 956), items: [950, 955], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 128), fp: EncodedCountingMonoid(4, SumMonoid(459)) }, Fingerprint { range: Range(128, 168), fp: EncodedCountingMonoid(3, SumMonoid(423)) }, Fingerprint { range: Range(276, 318), fp: EncodedCountingMonoid(4, SumMonoid(1176)) }, Fingerprint { range: Range(318, 342), fp: EncodedCountingMonoid(4, SumMonoid(1299)) }, Fingerprint { range: Range(616, 667), fp: EncodedCountingMonoid(5, SumMonoid(3144)) }, Fingerprint { range: Range(667, 719), fp: EncodedCountingMonoid(4, SumMonoid(2721)) }, Fingerprint { range: Range(770, 861), fp: EncodedCountingMonoid(3, SumMonoid(2498)) }, Fingerprint { range: Range(861, 881), fp: EncodedCountingMonoid(3, SumMonoid(2610)) }], item_sets: [ItemSet { range: Range(168, 276), items: [168, 171, 185, 190, 199, 236, 253, 255, 265], want_response: false }, ItemSet { range: Range(342, 386), items: [344, 377, 378], want_response: false }, ItemSet { range: Range(386, 453), items: [386, 421, 431, 445, 446, 448], want_response: false }, ItemSet { range: Range(453, 513), items: [460, 471, 472, 474, 477], want_response: false }, ItemSet { range: Range(513, 616), items: [513, 517, 521, 549, 551, 572, 583, 584, 586, 587, 588, 591, 602], want_response: false }, ItemSet { range: Range(897, 950), items: [897, 906, 919, 923, 924, 941, 945], want_response: false }, ItemSet { range: Range(950, 956), items: [], want_response: false }, ItemSet { range: Range(29, 77), items: [39, 73], want_response: true }, ItemSet { range: Range(719, 763), items: [721, 728], want_response: true }, ItemSet { range: Range(763, 770), items: [763, 768], want_response: true }, ItemSet { range: Range(881, 897), items: [884], want_response: true }], wants: [230, 342, 376, 395, 413, 453, 559, 579, 931, 933, 950, 955], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 77), items: [29, 51, 62, 72], want_response: false }, ItemSet { range: Range(719, 763), items: [719, 756], want_response: false }, ItemSet { range: Range(763, 770), items: [765, 767], want_response: false }, ItemSet { range: Range(881, 897), items: [881, 888, 894], want_response: false }, ItemSet { range: Range(77, 95), items: [77, 81], want_response: true }, ItemSet { range: Range(95, 128), items: [95, 101], want_response: true }, ItemSet { range: Range(128, 168), items: [], want_response: true }, ItemSet { range: Range(276, 318), items: [276], want_response: true }, ItemSet { range: Range(318, 342), items: [337, 338], want_response: true }, ItemSet { range: Range(616, 667), items: [652], want_response: true }, ItemSet { range: Range(667, 716), items: [680, 689], want_response: true }, ItemSet { range: Range(716, 719), items: [716, 718], want_response: true }, ItemSet { range: Range(770, 842), items: [770, 786], want_response: true }, ItemSet { range: Range(842, 861), items: [842, 859], want_response: true }, ItemSet { range: Range(861, 881), items: [], want_response: true }], wants: [168, 171, 185, 190, 199, 236, 253, 255, 265, 344, 377, 378, 386, 421, 431, 445, 446, 448, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 572, 583, 584, 586, 587, 588, 591, 602, 897, 906, 919, 923, 924, 941, 945, 39, 73, 721, 728, 763, 768, 884], provide: [(230, true), (342, true), (376, true), (395, true), (413, true), (453, true), (559, true), (579, true), (931, true), (933, true), (950, true), (955, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 95), items: [], want_response: false }, ItemSet { range: Range(95, 128), items: [101, 110, 121, 127], want_response: false }, ItemSet { range: Range(128, 168), items: [128, 130, 165], want_response: false }, ItemSet { range: Range(276, 318), items: [283, 287, 294, 312], want_response: false }, ItemSet { range: Range(318, 342), items: [318, 321, 327, 333], want_response: false }, ItemSet { range: Range(616, 667), items: [616, 620, 626, 637, 645], want_response: false }, ItemSet { range: Range(667, 716), items: [667, 678, 681, 695], want_response: false }, ItemSet { range: Range(716, 719), items: [], want_response: false }, ItemSet { range: Range(770, 842), items: [820, 821], want_response: false }, ItemSet { range: Range(842, 861), items: [857], want_response: false }, ItemSet { range: Range(861, 881), items: [861, 870, 879], want_response: false }], wants: [29, 51, 62, 72, 719, 756, 765, 767, 881, 888, 894, 77, 81, 95, 276, 337, 338, 652, 680, 689, 716, 718, 770, 786, 842, 859], provide: [(168, true), (171, true), (185, true), (190, true), (199, true), (236, true), (253, true), (255, true), (265, true), (344, true), (377, true), (378, true), (386, true), (421, true), (431, true), (445, true), (446, true), (448, true), (460, true), (471, true), (472, true), (474, true), (477, true), (513, true), (517, true), (521, true), (549, true), (551, true), (572, true), (583, true), (584, true), (586, true), (587, true), (588, true), (591, true), (602, true), (897, true), (906, true), (919, true), (923, true), (924, true), (941, true), (945, true), (39, true), (73, true), (721, true), (728, true), (763, true), (768, true), (884, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [110, 121, 127, 128, 130, 165, 283, 287, 294, 312, 318, 321, 327, 333, 616, 620, 626, 637, 645, 667, 678, 681, 695, 820, 821, 857, 861, 870, 879], provide: [(29, true), (51, true), (62, true), (72, true), (719, true), (756, true), (765, true), (767, true), (881, true), (888, true), (894, true), (77, true), (81, true), (95, true), (276, true), (337, true), (338, true), (652, true), (680, true), (689, true), (716, true), (718, true), (770, true), (786, true), (842, true), (859, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(110, true), (121, true), (127, true), (128, true), (130, true), (165, true), (283, true), (287, true), (294, true), (312, true), (318, true), (321, true), (327, true), (333, true), (616, true), (620, true), (626, true), (637, true), (645, true), (667, true), (678, true), (681, true), (695, true), (820, true), (821, true), (857, true), (861, true), (870, true), (879, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 51, 62, 72, 77, 81, 95, 101, 230, 276, 337, 338, 342, 376, 395, 413, 453, 559, 579, 652, 680, 689, 716, 718, 719, 756, 765, 767, 770, 786, 842, 859, 881, 888, 894, 931, 933, 950, 955} + [957, 959, 962, 970, 5, 16, 22, 25, 168, 171, 185, 190, 199, 236, 253, 255, 265, 344, 377, 378, 386, 421, 431, 445, 446, 448, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 572, 583, 584, 586, 587, 588, 591, 602, 897, 906, 919, 923, 924, 941, 945, 39, 73, 721, 728, 763, 768, 884, 110, 121, 127, 128, 130, 165, 283, 287, 294, 312, 318, 321, 327, 333, 616, 620, 626, 637, 645, 667, 678, 681, 695, 820, 821, 857, 861, 870, 879] [INFO] [stdout] b all: {5, 16, 22, 25, 39, 73, 101, 110, 121, 127, 128, 130, 165, 168, 171, 185, 190, 199, 236, 253, 255, 265, 283, 287, 294, 312, 318, 321, 327, 333, 344, 377, 378, 386, 421, 431, 445, 446, 448, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 572, 583, 584, 586, 587, 588, 591, 602, 616, 620, 626, 637, 645, 667, 678, 681, 695, 721, 728, 763, 768, 820, 821, 857, 861, 870, 879, 884, 897, 906, 919, 923, 924, 941, 945, 957, 959, 962, 970} + [230, 342, 376, 395, 413, 453, 559, 579, 931, 933, 950, 955, 29, 51, 62, 72, 719, 756, 765, 767, 881, 888, 894, 77, 81, 95, 276, 337, 338, 652, 680, 689, 716, 718, 770, 786, 842, 859] [INFO] [stdout] [INFO] [stdout] all vec: [5, 16, 22, 25, 29, 39, 51, 62, 72, 73, 77, 81, 95, 101, 110, 121, 127, 128, 130, 165, 168, 171, 185, 190, 199, 230, 236, 253, 255, 265, 276, 283, 287, 294, 312, 318, 321, 327, 333, 337, 338, 342, 344, 376, 377, 378, 386, 395, 413, 421, 431, 445, 446, 448, 453, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 559, 572, 579, 583, 584, 586, 587, 588, 591, 602, 616, 620, 626, 637, 645, 652, 667, 678, 680, 681, 689, 695, 716, 718, 719, 721, 728, 756, 763, 765, 767, 768, 770, 786, 820, 821, 842, 857, 859, 861, 870, 879, 881, 884, 888, 894, 897, 906, 919, 923, 924, 931, 933, 941, 945, 950, 955, 957, 959, 962, 970] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 16, 22, 25, 29, 39, 51, 62, 72, 73, 77, 81, 95, 101, 110, 121, 127, 128, 130, 165, 168, 171, 185, 190, 199, 230, 236, 253, 255, 265, 276, 283, 287, 294, 312, 318, 321, 327, 333, 337, 338, 342, 344, 376, 377, 378, 386, 395, 413, 421, 431, 445, 446, 448, 453, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 559, 572, 579, 583, 584, 586, 587, 588, 591, 602, 616, 620, 626, 637, 645, 652, 667, 678, 680, 681, 689, 695, 716, 718, 719, 721, 728, 756, 763, 765, 767, 768, 770, 786, 820, 821, 842, 857, 859, 861, 870, 879, 881, 884, 888, 894, 897, 906, 919, 923, 924, 931, 933, 941, 945, 950, 955, 957, 959, 962, 970], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 16, 22, 25, 29, 39, 51, 62, 72, 73, 77, 81, 95, 101, 110, 121, 127, 128, 130, 165, 168, 171, 185, 190, 199, 230, 236, 253, 255, 265, 276, 283, 287, 294, 312, 318, 321, 327, 333, 337, 338, 342, 344, 376, 377, 378, 386, 395, 413, 421, 431, 445, 446, 448, 453, 460, 471, 472, 474, 477, 513, 517, 521, 549, 551, 559, 572, 579, 583, 584, 586, 587, 588, 591, 602, 616, 620, 626, 637, 645, 652, 667, 678, 680, 681, 689, 695, 716, 718, 719, 721, 728, 756, 763, 765, 767, 768, 770, 786, 820, 821, 842, 857, 859, 861, 870, 879, 881, 884, 888, 894, 897, 906, 919, 923, 924, 931, 933, 941, 945, 950, 955, 957, 959, 962, 970], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {57, 69, 70, 101, 222, 230, 358, 397, 547, 557, 706, 708, 767, 850, 956, 966, 975} [INFO] [stdout] b items: {8, 73, 116, 152, 182, 253, 293, 294, 324, 333, 334, 357, 369, 370, 431, 467, 495, 497, 528, 536, 539, 553, 557, 567, 643, 671, 678, 680, 739, 758, 768, 772, 816, 884, 890, 925, 966} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(57, 976), fp: EncodedCountingMonoid(17, SumMonoid(8536)) }], item_sets: [ItemSet { range: Range(976, 57), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(57, 536), fp: EncodedCountingMonoid(18, SumMonoid(5868)) }, Fingerprint { range: Range(536, 976), fp: EncodedCountingMonoid(18, SumMonoid(12942)) }], item_sets: [ItemSet { range: Range(976, 57), items: [8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(57, 222), fp: EncodedCountingMonoid(4, SumMonoid(297)) }, Fingerprint { range: Range(222, 536), fp: EncodedCountingMonoid(4, SumMonoid(1207)) }, Fingerprint { range: Range(536, 850), fp: EncodedCountingMonoid(5, SumMonoid(3285)) }, Fingerprint { range: Range(850, 976), fp: EncodedCountingMonoid(4, SumMonoid(3747)) }], item_sets: [], wants: [8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(222, 369), fp: EncodedCountingMonoid(7, SumMonoid(2188)) }, Fingerprint { range: Range(369, 536), fp: EncodedCountingMonoid(7, SumMonoid(3157)) }, Fingerprint { range: Range(536, 678), fp: EncodedCountingMonoid(7, SumMonoid(4066)) }, Fingerprint { range: Range(678, 850), fp: EncodedCountingMonoid(7, SumMonoid(5211)) }], item_sets: [ItemSet { range: Range(57, 152), items: [73, 116], want_response: true }, ItemSet { range: Range(152, 222), items: [152, 182], want_response: true }, ItemSet { range: Range(850, 925), items: [884, 890], want_response: true }, ItemSet { range: Range(925, 976), items: [925, 966], want_response: true }], wants: [], provide: [(8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(57, 152), items: [57, 69, 70, 101], want_response: false }, ItemSet { range: Range(152, 222), items: [], want_response: false }, ItemSet { range: Range(850, 925), items: [850], want_response: false }, ItemSet { range: Range(925, 976), items: [956, 966, 975], want_response: false }, ItemSet { range: Range(222, 358), items: [222, 230], want_response: true }, ItemSet { range: Range(358, 369), items: [358], want_response: true }, ItemSet { range: Range(369, 536), items: [397], want_response: true }, ItemSet { range: Range(536, 678), items: [547, 557], want_response: true }, ItemSet { range: Range(678, 767), items: [706, 708], want_response: true }, ItemSet { range: Range(767, 850), items: [767], want_response: true }], wants: [73, 116, 152, 182, 884, 890, 925], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(222, 358), items: [253, 293, 294, 324, 333, 334, 357], want_response: false }, ItemSet { range: Range(358, 369), items: [], want_response: false }, ItemSet { range: Range(369, 536), items: [369, 370, 431, 467, 495, 497, 528], want_response: false }, ItemSet { range: Range(536, 678), items: [536, 539, 553, 557, 567, 643, 671], want_response: false }, ItemSet { range: Range(678, 767), items: [678, 680, 739, 758], want_response: false }, ItemSet { range: Range(767, 850), items: [768, 772, 816], want_response: false }], wants: [57, 69, 70, 101, 850, 956, 975, 222, 230, 358, 397, 547, 706, 708, 767], provide: [(73, true), (116, true), (152, true), (182, true), (884, true), (890, true), (925, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [253, 293, 294, 324, 333, 334, 357, 369, 370, 431, 467, 495, 497, 528, 536, 539, 553, 567, 643, 671, 678, 680, 739, 758, 768, 772, 816], provide: [(57, true), (69, true), (70, true), (101, true), (850, true), (956, true), (975, true), (222, true), (230, true), (358, true), (397, true), (547, true), (706, true), (708, true), (767, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(253, true), (293, true), (294, true), (324, true), (333, true), (334, true), (357, true), (369, true), (370, true), (431, true), (467, true), (495, true), (497, true), (528, true), (536, true), (539, true), (553, true), (567, true), (643, true), (671, true), (678, true), (680, true), (739, true), (758, true), (768, true), (772, true), (816, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {57, 69, 70, 101, 222, 230, 358, 397, 547, 557, 706, 708, 767, 850, 956, 966, 975} + [8, 73, 116, 152, 182, 884, 890, 925, 253, 293, 294, 324, 333, 334, 357, 369, 370, 431, 467, 495, 497, 528, 536, 539, 553, 567, 643, 671, 678, 680, 739, 758, 768, 772, 816] [INFO] [stdout] b all: {8, 73, 116, 152, 182, 253, 293, 294, 324, 333, 334, 357, 369, 370, 431, 467, 495, 497, 528, 536, 539, 553, 557, 567, 643, 671, 678, 680, 739, 758, 768, 772, 816, 884, 890, 925, 966} + [57, 69, 70, 101, 850, 956, 975, 222, 230, 358, 397, 547, 706, 708, 767] [INFO] [stdout] [INFO] [stdout] all vec: [8, 57, 69, 70, 73, 101, 116, 152, 182, 222, 230, 253, 293, 294, 324, 333, 334, 357, 358, 369, 370, 397, 431, 467, 495, 497, 528, 536, 539, 547, 553, 557, 567, 643, 671, 678, 680, 706, 708, 739, 758, 767, 768, 772, 816, 850, 884, 890, 925, 956, 966, 975] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 57, 69, 70, 73, 101, 116, 152, 182, 222, 230, 253, 293, 294, 324, 333, 334, 357, 358, 369, 370, 397, 431, 467, 495, 497, 528, 536, 539, 547, 553, 557, 567, 643, 671, 678, 680, 706, 708, 739, 758, 767, 768, 772, 816, 850, 884, 890, 925, 956, 966, 975], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 57, 69, 70, 73, 101, 116, 152, 182, 222, 230, 253, 293, 294, 324, 333, 334, 357, 358, 369, 370, 397, 431, 467, 495, 497, 528, 536, 539, 547, 553, 557, 567, 643, 671, 678, 680, 706, 708, 739, 758, 767, 768, 772, 816, 850, 884, 890, 925, 956, 966, 975], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {50, 758, 841, 973} [INFO] [stdout] b items: {16, 35, 47, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972, 983} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(50, 974), fp: EncodedCountingMonoid(4, SumMonoid(2622)) }], item_sets: [ItemSet { range: Range(974, 50), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(50, 575), fp: EncodedCountingMonoid(35, SumMonoid(11377)) }, Fingerprint { range: Range(575, 974), fp: EncodedCountingMonoid(34, SumMonoid(26536)) }], item_sets: [ItemSet { range: Range(974, 50), items: [983, 16, 35, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(50, 575), items: [50], want_response: true }, ItemSet { range: Range(575, 973), items: [758, 841], want_response: true }, ItemSet { range: Range(973, 974), items: [973], want_response: true }], wants: [983, 16, 35, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(50, 575), items: [64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570], want_response: false }, ItemSet { range: Range(575, 973), items: [575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972], want_response: false }, ItemSet { range: Range(973, 974), items: [], want_response: false }], wants: [50, 758, 973], provide: [(983, true), (16, true), (35, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 759, 773, 780, 793, 802, 817, 832, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972], provide: [(50, true), (758, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(64, true), (81, true), (86, true), (106, true), (109, true), (152, true), (154, true), (155, true), (168, true), (191, true), (201, true), (216, true), (227, true), (252, true), (257, true), (260, true), (275, true), (280, true), (316, true), (318, true), (342, true), (380, true), (446, true), (478, true), (495, true), (498, true), (508, true), (517, true), (524, true), (526, true), (534, true), (559, true), (565, true), (567, true), (570, true), (575, true), (582, true), (587, true), (596, true), (626, true), (642, true), (653, true), (656, true), (662, true), (680, true), (706, true), (711, true), (724, true), (738, true), (759, true), (773, true), (780, true), (793, true), (802, true), (817, true), (832, true), (842, true), (846, true), (850, true), (894, true), (896, true), (924, true), (940, true), (949, true), (955, true), (966, true), (967, true), (972, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {50, 758, 841, 973} + [983, 16, 35, 47, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 759, 773, 780, 793, 802, 817, 832, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972] [INFO] [stdout] b all: {16, 35, 47, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972, 983} + [50, 758, 973] [INFO] [stdout] [INFO] [stdout] all vec: [16, 35, 47, 50, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 758, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972, 973, 983] [INFO] [stdout] [INFO] [stdout] a all vec: [16, 35, 47, 50, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 758, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972, 973, 983], true true [INFO] [stdout] [INFO] [stdout] b all vec: [16, 35, 47, 50, 64, 81, 86, 106, 109, 152, 154, 155, 168, 191, 201, 216, 227, 252, 257, 260, 275, 280, 316, 318, 342, 380, 446, 478, 495, 498, 508, 517, 524, 526, 534, 559, 565, 567, 570, 575, 582, 587, 596, 626, 642, 653, 656, 662, 680, 706, 711, 724, 738, 758, 759, 773, 780, 793, 802, 817, 832, 841, 842, 846, 850, 894, 896, 924, 940, 949, 955, 966, 967, 972, 973, 983], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 16, 26, 52, 87, 105, 112, 114, 140, 173, 200, 215, 218, 222, 259, 265, 272, 337, 350, 363, 366, 376, 400, 406, 422, 427, 442, 459, 469, 496, 515, 525, 575, 592, 601, 611, 619, 624, 640, 687, 711, 717, 735, 755, 776, 785, 796, 823, 843, 845, 846, 887, 927, 937, 940, 943, 946, 964, 981} [INFO] [stdout] b items: {3, 5, 13, 15, 45, 48, 55, 56, 63, 90, 93, 98, 123, 150, 168, 209, 253, 254, 256, 260, 271, 306, 351, 360, 388, 402, 483, 542, 563, 573, 618, 621, 624, 645, 648, 653, 655, 663, 684, 690, 710, 724, 754, 755, 761, 782, 789, 806, 844, 847, 899, 911, 929, 937, 952, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 982), fp: EncodedCountingMonoid(59, SumMonoid(29938)) }], item_sets: [ItemSet { range: Range(982, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 563), fp: EncodedCountingMonoid(28, SumMonoid(5360)) }, Fingerprint { range: Range(563, 982), fp: EncodedCountingMonoid(27, SumMonoid(20037)) }], item_sets: [ItemSet { range: Range(982, 3), items: [998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 272), fp: EncodedCountingMonoid(16, SumMonoid(2207)) }, Fingerprint { range: Range(272, 563), fp: EncodedCountingMonoid(16, SumMonoid(6625)) }, Fingerprint { range: Range(563, 796), fp: EncodedCountingMonoid(14, SumMonoid(9428)) }, Fingerprint { range: Range(796, 982), fp: EncodedCountingMonoid(13, SumMonoid(11678)) }], item_sets: [], wants: [998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 98), fp: EncodedCountingMonoid(11, SumMonoid(486)) }, Fingerprint { range: Range(98, 272), fp: EncodedCountingMonoid(10, SumMonoid(2042)) }, Fingerprint { range: Range(272, 402), fp: EncodedCountingMonoid(4, SumMonoid(1405)) }, Fingerprint { range: Range(402, 563), fp: EncodedCountingMonoid(3, SumMonoid(1427)) }, Fingerprint { range: Range(563, 684), fp: EncodedCountingMonoid(10, SumMonoid(6263)) }, Fingerprint { range: Range(684, 796), fp: EncodedCountingMonoid(9, SumMonoid(6649)) }, Fingerprint { range: Range(796, 911), fp: EncodedCountingMonoid(4, SumMonoid(3396)) }, Fingerprint { range: Range(911, 982), fp: EncodedCountingMonoid(4, SumMonoid(3729)) }], item_sets: [], wants: [], provide: [(998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 52), fp: EncodedCountingMonoid(3, SumMonoid(45)) }, Fingerprint { range: Range(98, 215), fp: EncodedCountingMonoid(6, SumMonoid(844)) }, Fingerprint { range: Range(215, 272), fp: EncodedCountingMonoid(5, SumMonoid(1179)) }, Fingerprint { range: Range(272, 366), fp: EncodedCountingMonoid(4, SumMonoid(1322)) }, Fingerprint { range: Range(366, 402), fp: EncodedCountingMonoid(3, SumMonoid(1142)) }, Fingerprint { range: Range(402, 469), fp: EncodedCountingMonoid(5, SumMonoid(2156)) }, Fingerprint { range: Range(469, 563), fp: EncodedCountingMonoid(4, SumMonoid(2005)) }, Fingerprint { range: Range(563, 619), fp: EncodedCountingMonoid(4, SumMonoid(2379)) }, Fingerprint { range: Range(619, 684), fp: EncodedCountingMonoid(3, SumMonoid(1883)) }, Fingerprint { range: Range(684, 755), fp: EncodedCountingMonoid(4, SumMonoid(2850)) }, Fingerprint { range: Range(755, 796), fp: EncodedCountingMonoid(3, SumMonoid(2316)) }, Fingerprint { range: Range(796, 845), fp: EncodedCountingMonoid(3, SumMonoid(2462)) }, Fingerprint { range: Range(845, 911), fp: EncodedCountingMonoid(3, SumMonoid(2578)) }, Fingerprint { range: Range(911, 946), fp: EncodedCountingMonoid(4, SumMonoid(3747)) }, Fingerprint { range: Range(946, 982), fp: EncodedCountingMonoid(3, SumMonoid(2891)) }], item_sets: [ItemSet { range: Range(52, 98), items: [52, 87], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 15), fp: EncodedCountingMonoid(3, SumMonoid(21)) }, Fingerprint { range: Range(15, 52), fp: EncodedCountingMonoid(3, SumMonoid(108)) }, Fingerprint { range: Range(98, 168), fp: EncodedCountingMonoid(3, SumMonoid(371)) }, Fingerprint { range: Range(215, 260), fp: EncodedCountingMonoid(3, SumMonoid(763)) }, Fingerprint { range: Range(619, 653), fp: EncodedCountingMonoid(4, SumMonoid(2538)) }, Fingerprint { range: Range(653, 684), fp: EncodedCountingMonoid(3, SumMonoid(1971)) }, Fingerprint { range: Range(684, 724), fp: EncodedCountingMonoid(3, SumMonoid(2084)) }], item_sets: [ItemSet { range: Range(52, 98), items: [55, 56, 63, 90, 93], want_response: false }, ItemSet { range: Range(168, 215), items: [168, 209], want_response: true }, ItemSet { range: Range(260, 272), items: [260, 271], want_response: true }, ItemSet { range: Range(272, 360), items: [306, 351], want_response: true }, ItemSet { range: Range(360, 366), items: [360], want_response: true }, ItemSet { range: Range(366, 402), items: [388], want_response: true }, ItemSet { range: Range(402, 469), items: [402], want_response: true }, ItemSet { range: Range(469, 563), items: [483, 542], want_response: true }, ItemSet { range: Range(563, 618), items: [563, 573], want_response: true }, ItemSet { range: Range(618, 619), items: [618], want_response: true }, ItemSet { range: Range(724, 755), items: [724, 754], want_response: true }, ItemSet { range: Range(755, 782), items: [755, 761], want_response: true }, ItemSet { range: Range(782, 796), items: [782, 789], want_response: true }, ItemSet { range: Range(796, 845), items: [806, 844], want_response: true }, ItemSet { range: Range(845, 911), items: [847, 899], want_response: true }, ItemSet { range: Range(911, 937), items: [911, 929], want_response: true }, ItemSet { range: Range(937, 946), items: [937], want_response: true }, ItemSet { range: Range(946, 982), items: [952], want_response: true }], wants: [52, 87], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(168, 215), items: [173, 200], want_response: false }, ItemSet { range: Range(260, 272), items: [265], want_response: false }, ItemSet { range: Range(272, 360), items: [272, 337, 350], want_response: false }, ItemSet { range: Range(360, 366), items: [363], want_response: false }, ItemSet { range: Range(366, 402), items: [366, 376, 400], want_response: false }, ItemSet { range: Range(402, 469), items: [406, 422, 427, 442, 459], want_response: false }, ItemSet { range: Range(469, 563), items: [469, 496, 515, 525], want_response: false }, ItemSet { range: Range(563, 618), items: [575, 592, 601, 611], want_response: false }, ItemSet { range: Range(618, 619), items: [], want_response: false }, ItemSet { range: Range(724, 755), items: [735], want_response: false }, ItemSet { range: Range(755, 782), items: [755, 776], want_response: false }, ItemSet { range: Range(782, 796), items: [785], want_response: false }, ItemSet { range: Range(796, 845), items: [796, 823, 843], want_response: false }, ItemSet { range: Range(845, 911), items: [845, 846, 887], want_response: false }, ItemSet { range: Range(911, 937), items: [927], want_response: false }, ItemSet { range: Range(937, 946), items: [937, 940, 943], want_response: false }, ItemSet { range: Range(946, 982), items: [946, 964, 981], want_response: false }, ItemSet { range: Range(3, 15), items: [3], want_response: true }, ItemSet { range: Range(15, 52), items: [16, 26], want_response: true }, ItemSet { range: Range(98, 114), items: [105, 112], want_response: true }, ItemSet { range: Range(114, 168), items: [114, 140], want_response: true }, ItemSet { range: Range(215, 222), items: [215, 218], want_response: true }, ItemSet { range: Range(222, 260), items: [222, 259], want_response: true }, ItemSet { range: Range(619, 640), items: [619, 624], want_response: true }, ItemSet { range: Range(640, 653), items: [640], want_response: true }, ItemSet { range: Range(653, 684), items: [], want_response: true }, ItemSet { range: Range(684, 717), items: [687, 711], want_response: true }, ItemSet { range: Range(717, 724), items: [717], want_response: true }], wants: [55, 56, 63, 90, 93, 168, 209, 260, 271, 306, 351, 360, 388, 402, 483, 542, 563, 573, 618, 724, 754, 761, 782, 789, 806, 844, 847, 899, 911, 929, 952], provide: [(52, true), (87, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 15), items: [3, 5, 13], want_response: false }, ItemSet { range: Range(15, 52), items: [15, 45, 48], want_response: false }, ItemSet { range: Range(98, 114), items: [98], want_response: false }, ItemSet { range: Range(114, 168), items: [123, 150], want_response: false }, ItemSet { range: Range(215, 222), items: [], want_response: false }, ItemSet { range: Range(222, 260), items: [253, 254, 256], want_response: false }, ItemSet { range: Range(619, 640), items: [621, 624], want_response: false }, ItemSet { range: Range(640, 653), items: [645, 648], want_response: false }, ItemSet { range: Range(653, 684), items: [653, 655, 663], want_response: false }, ItemSet { range: Range(684, 717), items: [684, 690, 710], want_response: false }, ItemSet { range: Range(717, 724), items: [], want_response: false }], wants: [173, 200, 265, 272, 337, 350, 363, 366, 376, 400, 406, 422, 427, 442, 459, 469, 496, 515, 525, 575, 592, 601, 611, 735, 776, 785, 796, 823, 843, 845, 846, 887, 927, 940, 943, 946, 964, 981, 16, 26, 105, 112, 114, 140, 215, 218, 222, 259, 619, 640, 687, 711, 717], provide: [(55, true), (56, true), (63, true), (90, true), (93, true), (168, true), (209, true), (260, true), (271, true), (306, true), (351, true), (360, true), (388, true), (402, true), (483, true), (542, true), (563, true), (573, true), (618, true), (724, true), (754, true), (761, true), (782, true), (789, true), (806, true), (844, true), (847, true), (899, true), (911, true), (929, true), (952, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [5, 13, 15, 45, 48, 98, 123, 150, 253, 254, 256, 621, 645, 648, 653, 655, 663, 684, 690, 710], provide: [(173, true), (200, true), (265, true), (272, true), (337, true), (350, true), (363, true), (366, true), (376, true), (400, true), (406, true), (422, true), (427, true), (442, true), (459, true), (469, true), (496, true), (515, true), (525, true), (575, true), (592, true), (601, true), (611, true), (735, true), (776, true), (785, true), (796, true), (823, true), (843, true), (845, true), (846, true), (887, true), (927, true), (940, true), (943, true), (946, true), (964, true), (981, true), (16, true), (26, true), (105, true), (112, true), (114, true), (140, true), (215, true), (218, true), (222, true), (259, true), (619, true), (640, true), (687, true), (711, true), (717, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(5, true), (13, true), (15, true), (45, true), (48, true), (98, true), (123, true), (150, true), (253, true), (254, true), (256, true), (621, true), (645, true), (648, true), (653, true), (655, true), (663, true), (684, true), (690, true), (710, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 16, 26, 52, 87, 105, 112, 114, 140, 173, 200, 215, 218, 222, 259, 265, 272, 337, 350, 363, 366, 376, 400, 406, 422, 427, 442, 459, 469, 496, 515, 525, 575, 592, 601, 611, 619, 624, 640, 687, 711, 717, 735, 755, 776, 785, 796, 823, 843, 845, 846, 887, 927, 937, 940, 943, 946, 964, 981} + [998, 55, 56, 63, 90, 93, 168, 209, 260, 271, 306, 351, 360, 388, 402, 483, 542, 563, 573, 618, 724, 754, 761, 782, 789, 806, 844, 847, 899, 911, 929, 952, 5, 13, 15, 45, 48, 98, 123, 150, 253, 254, 256, 621, 645, 648, 653, 655, 663, 684, 690, 710] [INFO] [stdout] b all: {3, 5, 13, 15, 45, 48, 55, 56, 63, 90, 93, 98, 123, 150, 168, 209, 253, 254, 256, 260, 271, 306, 351, 360, 388, 402, 483, 542, 563, 573, 618, 621, 624, 645, 648, 653, 655, 663, 684, 690, 710, 724, 754, 755, 761, 782, 789, 806, 844, 847, 899, 911, 929, 937, 952, 998} + [52, 87, 173, 200, 265, 272, 337, 350, 363, 366, 376, 400, 406, 422, 427, 442, 459, 469, 496, 515, 525, 575, 592, 601, 611, 735, 776, 785, 796, 823, 843, 845, 846, 887, 927, 940, 943, 946, 964, 981, 16, 26, 105, 112, 114, 140, 215, 218, 222, 259, 619, 640, 687, 711, 717] [INFO] [stdout] [INFO] [stdout] all vec: [3, 5, 13, 15, 16, 26, 45, 48, 52, 55, 56, 63, 87, 90, 93, 98, 105, 112, 114, 123, 140, 150, 168, 173, 200, 209, 215, 218, 222, 253, 254, 256, 259, 260, 265, 271, 272, 306, 337, 350, 351, 360, 363, 366, 376, 388, 400, 402, 406, 422, 427, 442, 459, 469, 483, 496, 515, 525, 542, 563, 573, 575, 592, 601, 611, 618, 619, 621, 624, 640, 645, 648, 653, 655, 663, 684, 687, 690, 710, 711, 717, 724, 735, 754, 755, 761, 776, 782, 785, 789, 796, 806, 823, 843, 844, 845, 846, 847, 887, 899, 911, 927, 929, 937, 940, 943, 946, 952, 964, 981, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 5, 13, 15, 16, 26, 45, 48, 52, 55, 56, 63, 87, 90, 93, 98, 105, 112, 114, 123, 140, 150, 168, 173, 200, 209, 215, 218, 222, 253, 254, 256, 259, 260, 265, 271, 272, 306, 337, 350, 351, 360, 363, 366, 376, 388, 400, 402, 406, 422, 427, 442, 459, 469, 483, 496, 515, 525, 542, 563, 573, 575, 592, 601, 611, 618, 619, 621, 624, 640, 645, 648, 653, 655, 663, 684, 687, 690, 710, 711, 717, 724, 735, 754, 755, 761, 776, 782, 785, 789, 796, 806, 823, 843, 844, 845, 846, 847, 887, 899, 911, 927, 929, 937, 940, 943, 946, 952, 964, 981, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 5, 13, 15, 16, 26, 45, 48, 52, 55, 56, 63, 87, 90, 93, 98, 105, 112, 114, 123, 140, 150, 168, 173, 200, 209, 215, 218, 222, 253, 254, 256, 259, 260, 265, 271, 272, 306, 337, 350, 351, 360, 363, 366, 376, 388, 400, 402, 406, 422, 427, 442, 459, 469, 483, 496, 515, 525, 542, 563, 573, 575, 592, 601, 611, 618, 619, 621, 624, 640, 645, 648, 653, 655, 663, 684, 687, 690, 710, 711, 717, 724, 735, 754, 755, 761, 776, 782, 785, 789, 796, 806, 823, 843, 844, 845, 846, 847, 887, 899, 911, 927, 929, 937, 940, 943, 946, 952, 964, 981, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {114, 186, 220, 228, 233, 256, 334, 350, 359, 376, 399, 449, 457, 487, 524, 603, 654, 707, 748, 802, 803, 920, 933, 958} [INFO] [stdout] b items: {47, 324, 546} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(114, 959), fp: EncodedCountingMonoid(24, SumMonoid(12100)) }], item_sets: [ItemSet { range: Range(959, 114), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(959, 114), items: [47], want_response: false }, ItemSet { range: Range(114, 959), items: [324, 546], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(114, 959), items: [114, 186, 220, 228, 233, 256, 334, 350, 359, 376, 399, 449, 457, 487, 524, 603, 654, 707, 748, 802, 803, 920, 933, 958], want_response: false }], wants: [47, 324, 546], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [114, 186, 220, 228, 233, 256, 334, 350, 359, 376, 399, 449, 457, 487, 524, 603, 654, 707, 748, 802, 803, 920, 933, 958], provide: [(47, true), (324, true), (546, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(114, true), (186, true), (220, true), (228, true), (233, true), (256, true), (334, true), (350, true), (359, true), (376, true), (399, true), (449, true), (457, true), (487, true), (524, true), (603, true), (654, true), (707, true), (748, true), (802, true), (803, true), (920, true), (933, true), (958, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {114, 186, 220, 228, 233, 256, 334, 350, 359, 376, 399, 449, 457, 487, 524, 603, 654, 707, 748, 802, 803, 920, 933, 958} + [47, 324, 546] [INFO] [stdout] b all: {47, 324, 546} + [114, 186, 220, 228, 233, 256, 334, 350, 359, 376, 399, 449, 457, 487, 524, 603, 654, 707, 748, 802, 803, 920, 933, 958] [INFO] [stdout] [INFO] [stdout] all vec: [47, 114, 186, 220, 228, 233, 256, 324, 334, 350, 359, 376, 399, 449, 457, 487, 524, 546, 603, 654, 707, 748, 802, 803, 920, 933, 958] [INFO] [stdout] [INFO] [stdout] a all vec: [47, 114, 186, 220, 228, 233, 256, 324, 334, 350, 359, 376, 399, 449, 457, 487, 524, 546, 603, 654, 707, 748, 802, 803, 920, 933, 958], true true [INFO] [stdout] [INFO] [stdout] b all vec: [47, 114, 186, 220, 228, 233, 256, 324, 334, 350, 359, 376, 399, 449, 457, 487, 524, 546, 603, 654, 707, 748, 802, 803, 920, 933, 958], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {8, 51, 52, 74, 76, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 426, 462, 484, 489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 629, 638, 644, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 831, 865, 880, 905, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999} [INFO] [stdout] b items: {27, 81, 423, 463, 489, 615, 649, 755, 850, 904, 913} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 1000), fp: EncodedCountingMonoid(64, SumMonoid(33979)) }], item_sets: [ItemSet { range: Range(1000, 8), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 649), fp: EncodedCountingMonoid(6, SumMonoid(2098)) }, Fingerprint { range: Range(649, 1000), fp: EncodedCountingMonoid(5, SumMonoid(4071)) }], item_sets: [ItemSet { range: Range(1000, 8), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 361), fp: EncodedCountingMonoid(20, SumMonoid(3833)) }, Fingerprint { range: Range(361, 649), fp: EncodedCountingMonoid(20, SumMonoid(10290)) }, Fingerprint { range: Range(649, 880), fp: EncodedCountingMonoid(12, SumMonoid(8516)) }, Fingerprint { range: Range(880, 1000), fp: EncodedCountingMonoid(12, SumMonoid(11340)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(8, 361), items: [27, 81], want_response: true }, ItemSet { range: Range(361, 489), items: [423, 463], want_response: true }, ItemSet { range: Range(489, 649), items: [489, 615], want_response: true }, ItemSet { range: Range(649, 850), items: [649, 755], want_response: true }, ItemSet { range: Range(850, 880), items: [850], want_response: true }, ItemSet { range: Range(880, 1000), items: [904, 913], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(8, 361), items: [8, 51, 52, 74, 76, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359], want_response: false }, ItemSet { range: Range(361, 489), items: [361, 369, 397, 421, 426, 462, 484], want_response: false }, ItemSet { range: Range(489, 649), items: [489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 629, 638, 644], want_response: false }, ItemSet { range: Range(649, 850), items: [651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 831], want_response: false }, ItemSet { range: Range(850, 880), items: [865], want_response: false }, ItemSet { range: Range(880, 1000), items: [880, 905, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999], want_response: false }], wants: [27, 81, 423, 463, 615, 649, 755, 850, 904, 913], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [8, 51, 52, 74, 76, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 426, 462, 484, 497, 509, 516, 532, 535, 566, 601, 604, 610, 629, 638, 644, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 831, 865, 880, 905, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999], provide: [(27, true), (81, true), (423, true), (463, true), (615, true), (649, true), (755, true), (850, true), (904, true), (913, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(8, true), (51, true), (52, true), (74, true), (76, true), (86, true), (123, true), (143, true), (156, true), (165, true), (187, true), (230, true), (250, true), (283, true), (311, true), (314, true), (315, true), (321, true), (329, true), (359, true), (361, true), (369, true), (397, true), (421, true), (426, true), (462, true), (484, true), (497, true), (509, true), (516, true), (532, true), (535, true), (566, true), (601, true), (604, true), (610, true), (629, true), (638, true), (644, true), (651, true), (653, true), (661, true), (673, true), (674, true), (686, true), (695, true), (704, true), (705, true), (718, true), (831, true), (865, true), (880, true), (905, true), (926, true), (929, true), (931, true), (949, true), (951, true), (957, true), (959, true), (971, true), (983, true), (999, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {8, 51, 52, 74, 76, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 426, 462, 484, 489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 629, 638, 644, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 831, 865, 880, 905, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999} + [27, 81, 423, 463, 615, 649, 755, 850, 904, 913] [INFO] [stdout] b all: {27, 81, 423, 463, 489, 615, 649, 755, 850, 904, 913} + [8, 51, 52, 74, 76, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 426, 462, 484, 497, 509, 516, 532, 535, 566, 601, 604, 610, 629, 638, 644, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 831, 865, 880, 905, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999] [INFO] [stdout] [INFO] [stdout] all vec: [8, 27, 51, 52, 74, 76, 81, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 423, 426, 462, 463, 484, 489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 615, 629, 638, 644, 649, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 755, 831, 850, 865, 880, 904, 905, 913, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 27, 51, 52, 74, 76, 81, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 423, 426, 462, 463, 484, 489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 615, 629, 638, 644, 649, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 755, 831, 850, 865, 880, 904, 905, 913, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 27, 51, 52, 74, 76, 81, 86, 123, 143, 156, 165, 187, 230, 250, 283, 311, 314, 315, 321, 329, 359, 361, 369, 397, 421, 423, 426, 462, 463, 484, 489, 497, 509, 516, 532, 535, 566, 601, 604, 610, 615, 629, 638, 644, 649, 651, 653, 661, 673, 674, 686, 695, 704, 705, 718, 755, 831, 850, 865, 880, 904, 905, 913, 926, 929, 931, 949, 951, 957, 959, 971, 983, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {27, 40, 59, 60, 62, 82, 96, 157, 188, 283, 286, 305, 308, 316, 337, 354, 368, 374, 380, 414, 424, 437, 438, 444, 445, 465, 525, 549, 584, 588, 612, 617, 635, 647, 651, 658, 667, 701, 702, 736, 750, 758, 759, 762, 769, 774, 815, 855, 866, 867, 869, 886, 916, 934, 936, 946, 950, 986, 988} [INFO] [stdout] b items: {43, 46, 70, 89, 198, 236, 323, 324, 327, 356, 382, 385, 415, 417, 432, 465, 481, 541, 619, 653, 697, 699, 712, 768, 776, 824, 834, 860, 912, 933, 968, 970} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 989), fp: EncodedCountingMonoid(59, SumMonoid(32407)) }], item_sets: [ItemSet { range: Range(989, 27), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(27, 481), fp: EncodedCountingMonoid(16, SumMonoid(4508)) }, Fingerprint { range: Range(481, 989), fp: EncodedCountingMonoid(16, SumMonoid(12247)) }], item_sets: [ItemSet { range: Range(989, 27), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 316), fp: EncodedCountingMonoid(13, SumMonoid(1953)) }, Fingerprint { range: Range(316, 481), fp: EncodedCountingMonoid(13, SumMonoid(5196)) }, Fingerprint { range: Range(481, 762), fp: EncodedCountingMonoid(17, SumMonoid(11139)) }, Fingerprint { range: Range(762, 989), fp: EncodedCountingMonoid(16, SumMonoid(14119)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(27, 89), fp: EncodedCountingMonoid(3, SumMonoid(159)) }, Fingerprint { range: Range(89, 316), fp: EncodedCountingMonoid(3, SumMonoid(523)) }, Fingerprint { range: Range(316, 385), fp: EncodedCountingMonoid(5, SumMonoid(1712)) }, Fingerprint { range: Range(385, 481), fp: EncodedCountingMonoid(5, SumMonoid(2114)) }, Fingerprint { range: Range(481, 697), fp: EncodedCountingMonoid(4, SumMonoid(2294)) }, Fingerprint { range: Range(697, 762), fp: EncodedCountingMonoid(3, SumMonoid(2108)) }, Fingerprint { range: Range(762, 912), fp: EncodedCountingMonoid(5, SumMonoid(4062)) }, Fingerprint { range: Range(912, 989), fp: EncodedCountingMonoid(4, SumMonoid(3783)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 60), fp: EncodedCountingMonoid(3, SumMonoid(126)) }, Fingerprint { range: Range(60, 89), fp: EncodedCountingMonoid(3, SumMonoid(204)) }, Fingerprint { range: Range(89, 286), fp: EncodedCountingMonoid(4, SumMonoid(724)) }, Fingerprint { range: Range(286, 316), fp: EncodedCountingMonoid(3, SumMonoid(899)) }, Fingerprint { range: Range(316, 368), fp: EncodedCountingMonoid(3, SumMonoid(1007)) }, Fingerprint { range: Range(368, 385), fp: EncodedCountingMonoid(3, SumMonoid(1122)) }, Fingerprint { range: Range(385, 444), fp: EncodedCountingMonoid(4, SumMonoid(1713)) }, Fingerprint { range: Range(444, 481), fp: EncodedCountingMonoid(3, SumMonoid(1354)) }, Fingerprint { range: Range(481, 635), fp: EncodedCountingMonoid(6, SumMonoid(3475)) }, Fingerprint { range: Range(635, 697), fp: EncodedCountingMonoid(5, SumMonoid(3258)) }, Fingerprint { range: Range(697, 750), fp: EncodedCountingMonoid(3, SumMonoid(2139)) }, Fingerprint { range: Range(750, 762), fp: EncodedCountingMonoid(3, SumMonoid(2267)) }, Fingerprint { range: Range(762, 866), fp: EncodedCountingMonoid(5, SumMonoid(3975)) }, Fingerprint { range: Range(866, 912), fp: EncodedCountingMonoid(4, SumMonoid(3488)) }, Fingerprint { range: Range(912, 950), fp: EncodedCountingMonoid(4, SumMonoid(3732)) }, Fingerprint { range: Range(950, 989), fp: EncodedCountingMonoid(3, SumMonoid(2924)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(762, 834), fp: EncodedCountingMonoid(3, SumMonoid(2368)) }], item_sets: [ItemSet { range: Range(27, 60), items: [43, 46], want_response: true }, ItemSet { range: Range(60, 89), items: [70], want_response: true }, ItemSet { range: Range(89, 236), items: [89, 198], want_response: true }, ItemSet { range: Range(236, 286), items: [236], want_response: true }, ItemSet { range: Range(286, 316), items: [], want_response: true }, ItemSet { range: Range(316, 327), items: [323, 324], want_response: true }, ItemSet { range: Range(327, 368), items: [327, 356], want_response: true }, ItemSet { range: Range(368, 385), items: [382], want_response: true }, ItemSet { range: Range(385, 417), items: [385, 415], want_response: true }, ItemSet { range: Range(417, 444), items: [417, 432], want_response: true }, ItemSet { range: Range(444, 481), items: [465], want_response: true }, ItemSet { range: Range(481, 619), items: [481, 541], want_response: true }, ItemSet { range: Range(619, 635), items: [619], want_response: true }, ItemSet { range: Range(635, 697), items: [653], want_response: true }, ItemSet { range: Range(697, 712), items: [697, 699], want_response: true }, ItemSet { range: Range(712, 750), items: [712], want_response: true }, ItemSet { range: Range(750, 762), items: [], want_response: true }, ItemSet { range: Range(834, 866), items: [834, 860], want_response: true }, ItemSet { range: Range(866, 912), items: [], want_response: true }, ItemSet { range: Range(912, 950), items: [912, 933], want_response: true }, ItemSet { range: Range(950, 989), items: [968, 970], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(27, 60), items: [27, 40, 59], want_response: false }, ItemSet { range: Range(60, 89), items: [60, 62, 82], want_response: false }, ItemSet { range: Range(89, 236), items: [96, 157, 188], want_response: false }, ItemSet { range: Range(236, 286), items: [283], want_response: false }, ItemSet { range: Range(286, 316), items: [286, 305, 308], want_response: false }, ItemSet { range: Range(316, 327), items: [316], want_response: false }, ItemSet { range: Range(327, 368), items: [337, 354], want_response: false }, ItemSet { range: Range(368, 385), items: [368, 374, 380], want_response: false }, ItemSet { range: Range(385, 417), items: [414], want_response: false }, ItemSet { range: Range(417, 444), items: [424, 437, 438], want_response: false }, ItemSet { range: Range(444, 481), items: [444, 445, 465], want_response: false }, ItemSet { range: Range(481, 619), items: [525, 549, 584, 588, 612, 617], want_response: false }, ItemSet { range: Range(619, 635), items: [], want_response: false }, ItemSet { range: Range(635, 697), items: [635, 647, 651, 658, 667], want_response: false }, ItemSet { range: Range(697, 712), items: [701, 702], want_response: false }, ItemSet { range: Range(712, 750), items: [736], want_response: false }, ItemSet { range: Range(750, 762), items: [750, 758, 759], want_response: false }, ItemSet { range: Range(834, 866), items: [855], want_response: false }, ItemSet { range: Range(866, 912), items: [866, 867, 869, 886], want_response: false }, ItemSet { range: Range(912, 950), items: [916, 934, 936, 946], want_response: false }, ItemSet { range: Range(950, 989), items: [950, 986, 988], want_response: false }, ItemSet { range: Range(762, 774), items: [762, 769], want_response: true }, ItemSet { range: Range(774, 834), items: [774, 815], want_response: true }], wants: [43, 46, 70, 89, 198, 236, 323, 324, 327, 356, 382, 385, 415, 417, 432, 481, 541, 619, 653, 697, 699, 712, 834, 860, 912, 933, 968, 970], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(762, 774), items: [768], want_response: false }, ItemSet { range: Range(774, 834), items: [776, 824], want_response: false }], wants: [27, 40, 59, 60, 62, 82, 96, 157, 188, 283, 286, 305, 308, 316, 337, 354, 368, 374, 380, 414, 424, 437, 438, 444, 445, 525, 549, 584, 588, 612, 617, 635, 647, 651, 658, 667, 701, 702, 736, 750, 758, 759, 855, 866, 867, 869, 886, 916, 934, 936, 946, 950, 986, 988, 762, 769, 774, 815], provide: [(43, true), (46, true), (70, true), (89, true), (198, true), (236, true), (323, true), (324, true), (327, true), (356, true), (382, true), (385, true), (415, true), (417, true), (432, true), (481, true), (541, true), (619, true), (653, true), (697, true), (699, true), (712, true), (834, true), (860, true), (912, true), (933, true), (968, true), (970, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [768, 776, 824], provide: [(27, true), (40, true), (59, true), (60, true), (62, true), (82, true), (96, true), (157, true), (188, true), (283, true), (286, true), (305, true), (308, true), (316, true), (337, true), (354, true), (368, true), (374, true), (380, true), (414, true), (424, true), (437, true), (438, true), (444, true), (445, true), (525, true), (549, true), (584, true), (588, true), (612, true), (617, true), (635, true), (647, true), (651, true), (658, true), (667, true), (701, true), (702, true), (736, true), (750, true), (758, true), (759, true), (855, true), (866, true), (867, true), (869, true), (886, true), (916, true), (934, true), (936, true), (946, true), (950, true), (986, true), (988, true), (762, true), (769, true), (774, true), (815, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(768, true), (776, true), (824, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {27, 40, 59, 60, 62, 82, 96, 157, 188, 283, 286, 305, 308, 316, 337, 354, 368, 374, 380, 414, 424, 437, 438, 444, 445, 465, 525, 549, 584, 588, 612, 617, 635, 647, 651, 658, 667, 701, 702, 736, 750, 758, 759, 762, 769, 774, 815, 855, 866, 867, 869, 886, 916, 934, 936, 946, 950, 986, 988} + [43, 46, 70, 89, 198, 236, 323, 324, 327, 356, 382, 385, 415, 417, 432, 481, 541, 619, 653, 697, 699, 712, 834, 860, 912, 933, 968, 970, 768, 776, 824] [INFO] [stdout] b all: {43, 46, 70, 89, 198, 236, 323, 324, 327, 356, 382, 385, 415, 417, 432, 465, 481, 541, 619, 653, 697, 699, 712, 768, 776, 824, 834, 860, 912, 933, 968, 970} + [27, 40, 59, 60, 62, 82, 96, 157, 188, 283, 286, 305, 308, 316, 337, 354, 368, 374, 380, 414, 424, 437, 438, 444, 445, 525, 549, 584, 588, 612, 617, 635, 647, 651, 658, 667, 701, 702, 736, 750, 758, 759, 855, 866, 867, 869, 886, 916, 934, 936, 946, 950, 986, 988, 762, 769, 774, 815] [INFO] [stdout] [INFO] [stdout] all vec: [27, 40, 43, 46, 59, 60, 62, 70, 82, 89, 96, 157, 188, 198, 236, 283, 286, 305, 308, 316, 323, 324, 327, 337, 354, 356, 368, 374, 380, 382, 385, 414, 415, 417, 424, 432, 437, 438, 444, 445, 465, 481, 525, 541, 549, 584, 588, 612, 617, 619, 635, 647, 651, 653, 658, 667, 697, 699, 701, 702, 712, 736, 750, 758, 759, 762, 768, 769, 774, 776, 815, 824, 834, 855, 860, 866, 867, 869, 886, 912, 916, 933, 934, 936, 946, 950, 968, 970, 986, 988] [INFO] [stdout] [INFO] [stdout] a all vec: [27, 40, 43, 46, 59, 60, 62, 70, 82, 89, 96, 157, 188, 198, 236, 283, 286, 305, 308, 316, 323, 324, 327, 337, 354, 356, 368, 374, 380, 382, 385, 414, 415, 417, 424, 432, 437, 438, 444, 445, 465, 481, 525, 541, 549, 584, 588, 612, 617, 619, 635, 647, 651, 653, 658, 667, 697, 699, 701, 702, 712, 736, 750, 758, 759, 762, 768, 769, 774, 776, 815, 824, 834, 855, 860, 866, 867, 869, 886, 912, 916, 933, 934, 936, 946, 950, 968, 970, 986, 988], true true [INFO] [stdout] [INFO] [stdout] b all vec: [27, 40, 43, 46, 59, 60, 62, 70, 82, 89, 96, 157, 188, 198, 236, 283, 286, 305, 308, 316, 323, 324, 327, 337, 354, 356, 368, 374, 380, 382, 385, 414, 415, 417, 424, 432, 437, 438, 444, 445, 465, 481, 525, 541, 549, 584, 588, 612, 617, 619, 635, 647, 651, 653, 658, 667, 697, 699, 701, 702, 712, 736, 750, 758, 759, 762, 768, 769, 774, 776, 815, 824, 834, 855, 860, 866, 867, 869, 886, 912, 916, 933, 934, 936, 946, 950, 968, 970, 986, 988], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 206, 219, 276, 293, 308, 401, 589, 657, 769, 835, 873, 929, 943, 953, 960} [INFO] [stdout] b items: {9, 158, 205, 280, 321, 394, 434, 451, 463, 515, 589, 605, 714, 883, 935} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 961), fp: EncodedCountingMonoid(16, SumMonoid(9213)) }], item_sets: [ItemSet { range: Range(961, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 463), fp: EncodedCountingMonoid(8, SumMonoid(2252)) }, Fingerprint { range: Range(463, 961), fp: EncodedCountingMonoid(7, SumMonoid(4704)) }], item_sets: [ItemSet { range: Range(961, 2), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 293), fp: EncodedCountingMonoid(4, SumMonoid(703)) }, Fingerprint { range: Range(293, 463), fp: EncodedCountingMonoid(3, SumMonoid(1002)) }, Fingerprint { range: Range(463, 929), fp: EncodedCountingMonoid(5, SumMonoid(3723)) }, Fingerprint { range: Range(929, 961), fp: EncodedCountingMonoid(4, SumMonoid(3785)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(463, 605), fp: EncodedCountingMonoid(3, SumMonoid(1567)) }, Fingerprint { range: Range(605, 929), fp: EncodedCountingMonoid(3, SumMonoid(2202)) }], item_sets: [ItemSet { range: Range(2, 205), items: [9, 158], want_response: true }, ItemSet { range: Range(205, 293), items: [205, 280], want_response: true }, ItemSet { range: Range(293, 434), items: [321, 394], want_response: true }, ItemSet { range: Range(434, 463), items: [434, 451], want_response: true }, ItemSet { range: Range(929, 961), items: [935], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 205), items: [2], want_response: false }, ItemSet { range: Range(205, 293), items: [206, 219, 276], want_response: false }, ItemSet { range: Range(293, 434), items: [293, 308, 401], want_response: false }, ItemSet { range: Range(434, 463), items: [], want_response: false }, ItemSet { range: Range(929, 961), items: [929, 943, 953, 960], want_response: false }, ItemSet { range: Range(463, 605), items: [589], want_response: true }, ItemSet { range: Range(605, 835), items: [657, 769], want_response: true }, ItemSet { range: Range(835, 929), items: [835, 873], want_response: true }], wants: [9, 158, 205, 280, 321, 394, 434, 451, 935], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(463, 605), items: [463, 515, 589], want_response: false }, ItemSet { range: Range(605, 835), items: [605, 714], want_response: false }, ItemSet { range: Range(835, 929), items: [883], want_response: false }], wants: [2, 206, 219, 276, 293, 308, 401, 929, 943, 953, 960, 657, 769, 835, 873], provide: [(9, true), (158, true), (205, true), (280, true), (321, true), (394, true), (434, true), (451, true), (935, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [463, 515, 605, 714, 883], provide: [(2, true), (206, true), (219, true), (276, true), (293, true), (308, true), (401, true), (929, true), (943, true), (953, true), (960, true), (657, true), (769, true), (835, true), (873, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(463, true), (515, true), (605, true), (714, true), (883, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 206, 219, 276, 293, 308, 401, 589, 657, 769, 835, 873, 929, 943, 953, 960} + [9, 158, 205, 280, 321, 394, 434, 451, 935, 463, 515, 605, 714, 883] [INFO] [stdout] b all: {9, 158, 205, 280, 321, 394, 434, 451, 463, 515, 589, 605, 714, 883, 935} + [2, 206, 219, 276, 293, 308, 401, 929, 943, 953, 960, 657, 769, 835, 873] [INFO] [stdout] [INFO] [stdout] all vec: [2, 9, 158, 205, 206, 219, 276, 280, 293, 308, 321, 394, 401, 434, 451, 463, 515, 589, 605, 657, 714, 769, 835, 873, 883, 929, 935, 943, 953, 960] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 9, 158, 205, 206, 219, 276, 280, 293, 308, 321, 394, 401, 434, 451, 463, 515, 589, 605, 657, 714, 769, 835, 873, 883, 929, 935, 943, 953, 960], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 9, 158, 205, 206, 219, 276, 280, 293, 308, 321, 394, 401, 434, 451, 463, 515, 589, 605, 657, 714, 769, 835, 873, 883, 929, 935, 943, 953, 960], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {58, 94, 129, 159, 161, 170, 211, 213, 246, 274, 289, 291, 296, 311, 374, 375, 390, 397, 475, 483, 490, 512, 514, 552, 567, 572, 576, 619, 623, 663, 679, 700, 743, 744, 759, 777, 795, 813, 823, 836, 846, 889, 892, 920, 921, 927, 930, 975, 987, 988} [INFO] [stdout] b items: {3, 6, 19, 21, 31, 45, 46, 90, 94, 101, 108, 122, 130, 139, 146, 151, 168, 181, 231, 234, 237, 245, 268, 277, 286, 290, 296, 317, 334, 341, 360, 378, 396, 400, 402, 406, 411, 424, 445, 471, 481, 492, 501, 514, 520, 530, 562, 586, 600, 615, 646, 650, 655, 657, 658, 665, 666, 679, 688, 705, 708, 714, 727, 734, 752, 765, 785, 793, 795, 796, 804, 809, 821, 827, 834, 837, 844, 854, 858, 862, 904, 915, 921, 939, 943, 952, 969} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(58, 989), fp: EncodedCountingMonoid(50, SumMonoid(28028)) }], item_sets: [ItemSet { range: Range(989, 58), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(58, 586), fp: EncodedCountingMonoid(40, SumMonoid(12479)) }, Fingerprint { range: Range(586, 989), fp: EncodedCountingMonoid(40, SumMonoid(30932)) }], item_sets: [ItemSet { range: Range(989, 58), items: [3, 6, 19, 21, 31, 45, 46], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(58, 374), fp: EncodedCountingMonoid(14, SumMonoid(2902)) }, Fingerprint { range: Range(374, 586), fp: EncodedCountingMonoid(13, SumMonoid(6277)) }, Fingerprint { range: Range(586, 836), fp: EncodedCountingMonoid(12, SumMonoid(8738)) }, Fingerprint { range: Range(836, 989), fp: EncodedCountingMonoid(11, SumMonoid(10111)) }], item_sets: [], wants: [3, 6, 19, 21, 31, 45, 46], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(58, 234), fp: EncodedCountingMonoid(12, SumMonoid(1661)) }, Fingerprint { range: Range(234, 374), fp: EncodedCountingMonoid(12, SumMonoid(3485)) }, Fingerprint { range: Range(374, 471), fp: EncodedCountingMonoid(8, SumMonoid(3262)) }, Fingerprint { range: Range(471, 586), fp: EncodedCountingMonoid(8, SumMonoid(4071)) }, Fingerprint { range: Range(586, 714), fp: EncodedCountingMonoid(14, SumMonoid(9178)) }, Fingerprint { range: Range(714, 836), fp: EncodedCountingMonoid(14, SumMonoid(10956)) }, Fingerprint { range: Range(836, 915), fp: EncodedCountingMonoid(6, SumMonoid(5159)) }, Fingerprint { range: Range(915, 989), fp: EncodedCountingMonoid(6, SumMonoid(5639)) }], item_sets: [], wants: [], provide: [(3, true), (6, true), (19, true), (21, true), (31, true), (45, true), (46, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(58, 161), fp: EncodedCountingMonoid(4, SumMonoid(440)) }, Fingerprint { range: Range(161, 234), fp: EncodedCountingMonoid(4, SumMonoid(755)) }, Fingerprint { range: Range(234, 291), fp: EncodedCountingMonoid(3, SumMonoid(809)) }, Fingerprint { range: Range(291, 374), fp: EncodedCountingMonoid(3, SumMonoid(898)) }, Fingerprint { range: Range(471, 552), fp: EncodedCountingMonoid(5, SumMonoid(2474)) }, Fingerprint { range: Range(552, 586), fp: EncodedCountingMonoid(4, SumMonoid(2267)) }, Fingerprint { range: Range(586, 679), fp: EncodedCountingMonoid(3, SumMonoid(1905)) }, Fingerprint { range: Range(714, 795), fp: EncodedCountingMonoid(4, SumMonoid(3023)) }, Fingerprint { range: Range(795, 836), fp: EncodedCountingMonoid(3, SumMonoid(2431)) }, Fingerprint { range: Range(915, 975), fp: EncodedCountingMonoid(4, SumMonoid(3698)) }, Fingerprint { range: Range(975, 989), fp: EncodedCountingMonoid(3, SumMonoid(2950)) }], item_sets: [ItemSet { range: Range(374, 390), items: [374, 375], want_response: true }, ItemSet { range: Range(390, 471), items: [390, 397], want_response: true }, ItemSet { range: Range(679, 714), items: [679, 700], want_response: true }, ItemSet { range: Range(836, 889), items: [836, 846], want_response: true }, ItemSet { range: Range(889, 915), items: [889, 892], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(58, 130), fp: EncodedCountingMonoid(5, SumMonoid(515)) }, Fingerprint { range: Range(130, 161), fp: EncodedCountingMonoid(4, SumMonoid(566)) }, Fingerprint { range: Range(234, 277), fp: EncodedCountingMonoid(4, SumMonoid(984)) }, Fingerprint { range: Range(277, 291), fp: EncodedCountingMonoid(3, SumMonoid(853)) }, Fingerprint { range: Range(291, 341), fp: EncodedCountingMonoid(3, SumMonoid(947)) }, Fingerprint { range: Range(471, 514), fp: EncodedCountingMonoid(4, SumMonoid(1945)) }, Fingerprint { range: Range(514, 552), fp: EncodedCountingMonoid(3, SumMonoid(1564)) }, Fingerprint { range: Range(586, 655), fp: EncodedCountingMonoid(5, SumMonoid(3097)) }, Fingerprint { range: Range(655, 679), fp: EncodedCountingMonoid(5, SumMonoid(3301)) }, Fingerprint { range: Range(714, 765), fp: EncodedCountingMonoid(4, SumMonoid(2927)) }, Fingerprint { range: Range(765, 795), fp: EncodedCountingMonoid(3, SumMonoid(2343)) }, Fingerprint { range: Range(795, 821), fp: EncodedCountingMonoid(4, SumMonoid(3204)) }, Fingerprint { range: Range(821, 836), fp: EncodedCountingMonoid(3, SumMonoid(2482)) }, Fingerprint { range: Range(915, 943), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }, Fingerprint { range: Range(943, 975), fp: EncodedCountingMonoid(3, SumMonoid(2864)) }], item_sets: [ItemSet { range: Range(374, 390), items: [378], want_response: false }, ItemSet { range: Range(390, 471), items: [396, 400, 402, 406, 411, 424, 445], want_response: false }, ItemSet { range: Range(679, 714), items: [679, 688, 705, 708], want_response: false }, ItemSet { range: Range(836, 889), items: [837, 844, 854, 858, 862], want_response: false }, ItemSet { range: Range(889, 915), items: [904], want_response: false }, ItemSet { range: Range(161, 231), items: [168, 181], want_response: true }, ItemSet { range: Range(231, 234), items: [231], want_response: true }, ItemSet { range: Range(341, 374), items: [341, 360], want_response: true }, ItemSet { range: Range(552, 586), items: [562], want_response: true }, ItemSet { range: Range(975, 989), items: [], want_response: true }], wants: [374, 375, 390, 397, 700, 836, 846, 889, 892], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(161, 231), items: [161, 170, 211, 213], want_response: false }, ItemSet { range: Range(231, 234), items: [], want_response: false }, ItemSet { range: Range(341, 374), items: [], want_response: false }, ItemSet { range: Range(552, 586), items: [552, 567, 572, 576], want_response: false }, ItemSet { range: Range(975, 989), items: [975, 987, 988], want_response: false }, ItemSet { range: Range(58, 129), items: [58, 94], want_response: true }, ItemSet { range: Range(129, 130), items: [129], want_response: true }, ItemSet { range: Range(130, 161), items: [159], want_response: true }, ItemSet { range: Range(234, 277), items: [246, 274], want_response: true }, ItemSet { range: Range(277, 291), items: [289], want_response: true }, ItemSet { range: Range(291, 311), items: [291, 296], want_response: true }, ItemSet { range: Range(311, 341), items: [311], want_response: true }, ItemSet { range: Range(471, 490), items: [475, 483], want_response: true }, ItemSet { range: Range(490, 514), items: [490, 512], want_response: true }, ItemSet { range: Range(514, 552), items: [514], want_response: true }, ItemSet { range: Range(586, 655), items: [619, 623], want_response: true }, ItemSet { range: Range(655, 679), items: [663], want_response: true }, ItemSet { range: Range(714, 759), items: [743, 744], want_response: true }, ItemSet { range: Range(759, 765), items: [759], want_response: true }, ItemSet { range: Range(765, 795), items: [777], want_response: true }, ItemSet { range: Range(795, 821), items: [795, 813], want_response: true }, ItemSet { range: Range(821, 836), items: [823], want_response: true }, ItemSet { range: Range(915, 927), items: [920, 921], want_response: true }, ItemSet { range: Range(927, 943), items: [927, 930], want_response: true }, ItemSet { range: Range(943, 975), items: [], want_response: true }], wants: [378, 396, 400, 402, 406, 411, 424, 445, 688, 705, 708, 837, 844, 854, 858, 862, 904, 168, 181, 231, 341, 360, 562], provide: [(374, true), (375, true), (390, true), (397, true), (700, true), (836, true), (846, true), (889, true), (892, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(58, 129), items: [90, 94, 101, 108, 122], want_response: false }, ItemSet { range: Range(129, 130), items: [], want_response: false }, ItemSet { range: Range(130, 161), items: [130, 139, 146, 151], want_response: false }, ItemSet { range: Range(234, 277), items: [234, 237, 245, 268], want_response: false }, ItemSet { range: Range(277, 291), items: [277, 286, 290], want_response: false }, ItemSet { range: Range(291, 311), items: [296], want_response: false }, ItemSet { range: Range(311, 341), items: [317, 334], want_response: false }, ItemSet { range: Range(471, 490), items: [471, 481], want_response: false }, ItemSet { range: Range(490, 514), items: [492, 501], want_response: false }, ItemSet { range: Range(514, 552), items: [514, 520, 530], want_response: false }, ItemSet { range: Range(586, 655), items: [586, 600, 615, 646, 650], want_response: false }, ItemSet { range: Range(655, 679), items: [655, 657, 658, 665, 666], want_response: false }, ItemSet { range: Range(714, 759), items: [714, 727, 734, 752], want_response: false }, ItemSet { range: Range(759, 765), items: [], want_response: false }, ItemSet { range: Range(765, 795), items: [765, 785, 793], want_response: false }, ItemSet { range: Range(795, 821), items: [795, 796, 804, 809], want_response: false }, ItemSet { range: Range(821, 836), items: [821, 827, 834], want_response: false }, ItemSet { range: Range(915, 927), items: [915, 921], want_response: false }, ItemSet { range: Range(927, 943), items: [939], want_response: false }, ItemSet { range: Range(943, 975), items: [943, 952, 969], want_response: false }], wants: [161, 170, 211, 213, 552, 567, 572, 576, 975, 987, 988, 58, 129, 159, 246, 274, 289, 291, 311, 475, 483, 490, 512, 619, 623, 663, 743, 744, 759, 777, 813, 823, 920, 927, 930], provide: [(378, true), (396, true), (400, true), (402, true), (406, true), (411, true), (424, true), (445, true), (688, true), (705, true), (708, true), (837, true), (844, true), (854, true), (858, true), (862, true), (904, true), (168, true), (181, true), (231, true), (341, true), (360, true), (562, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [90, 101, 108, 122, 130, 139, 146, 151, 234, 237, 245, 268, 277, 286, 290, 317, 334, 471, 481, 492, 501, 520, 530, 586, 600, 615, 646, 650, 655, 657, 658, 665, 666, 714, 727, 734, 752, 765, 785, 793, 796, 804, 809, 821, 827, 834, 915, 939, 943, 952, 969], provide: [(161, true), (170, true), (211, true), (213, true), (552, true), (567, true), (572, true), (576, true), (975, true), (987, true), (988, true), (58, true), (129, true), (159, true), (246, true), (274, true), (289, true), (291, true), (311, true), (475, true), (483, true), (490, true), (512, true), (619, true), (623, true), (663, true), (743, true), (744, true), (759, true), (777, true), (813, true), (823, true), (920, true), (927, true), (930, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(90, true), (101, true), (108, true), (122, true), (130, true), (139, true), (146, true), (151, true), (234, true), (237, true), (245, true), (268, true), (277, true), (286, true), (290, true), (317, true), (334, true), (471, true), (481, true), (492, true), (501, true), (520, true), (530, true), (586, true), (600, true), (615, true), (646, true), (650, true), (655, true), (657, true), (658, true), (665, true), (666, true), (714, true), (727, true), (734, true), (752, true), (765, true), (785, true), (793, true), (796, true), (804, true), (809, true), (821, true), (827, true), (834, true), (915, true), (939, true), (943, true), (952, true), (969, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {58, 94, 129, 159, 161, 170, 211, 213, 246, 274, 289, 291, 296, 311, 374, 375, 390, 397, 475, 483, 490, 512, 514, 552, 567, 572, 576, 619, 623, 663, 679, 700, 743, 744, 759, 777, 795, 813, 823, 836, 846, 889, 892, 920, 921, 927, 930, 975, 987, 988} + [3, 6, 19, 21, 31, 45, 46, 378, 396, 400, 402, 406, 411, 424, 445, 688, 705, 708, 837, 844, 854, 858, 862, 904, 168, 181, 231, 341, 360, 562, 90, 101, 108, 122, 130, 139, 146, 151, 234, 237, 245, 268, 277, 286, 290, 317, 334, 471, 481, 492, 501, 520, 530, 586, 600, 615, 646, 650, 655, 657, 658, 665, 666, 714, 727, 734, 752, 765, 785, 793, 796, 804, 809, 821, 827, 834, 915, 939, 943, 952, 969] [INFO] [stdout] b all: {3, 6, 19, 21, 31, 45, 46, 90, 94, 101, 108, 122, 130, 139, 146, 151, 168, 181, 231, 234, 237, 245, 268, 277, 286, 290, 296, 317, 334, 341, 360, 378, 396, 400, 402, 406, 411, 424, 445, 471, 481, 492, 501, 514, 520, 530, 562, 586, 600, 615, 646, 650, 655, 657, 658, 665, 666, 679, 688, 705, 708, 714, 727, 734, 752, 765, 785, 793, 795, 796, 804, 809, 821, 827, 834, 837, 844, 854, 858, 862, 904, 915, 921, 939, 943, 952, 969} + [374, 375, 390, 397, 700, 836, 846, 889, 892, 161, 170, 211, 213, 552, 567, 572, 576, 975, 987, 988, 58, 129, 159, 246, 274, 289, 291, 311, 475, 483, 490, 512, 619, 623, 663, 743, 744, 759, 777, 813, 823, 920, 927, 930] [INFO] [stdout] [INFO] [stdout] all vec: [3, 6, 19, 21, 31, 45, 46, 58, 90, 94, 101, 108, 122, 129, 130, 139, 146, 151, 159, 161, 168, 170, 181, 211, 213, 231, 234, 237, 245, 246, 268, 274, 277, 286, 289, 290, 291, 296, 311, 317, 334, 341, 360, 374, 375, 378, 390, 396, 397, 400, 402, 406, 411, 424, 445, 471, 475, 481, 483, 490, 492, 501, 512, 514, 520, 530, 552, 562, 567, 572, 576, 586, 600, 615, 619, 623, 646, 650, 655, 657, 658, 663, 665, 666, 679, 688, 700, 705, 708, 714, 727, 734, 743, 744, 752, 759, 765, 777, 785, 793, 795, 796, 804, 809, 813, 821, 823, 827, 834, 836, 837, 844, 846, 854, 858, 862, 889, 892, 904, 915, 920, 921, 927, 930, 939, 943, 952, 969, 975, 987, 988] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 6, 19, 21, 31, 45, 46, 58, 90, 94, 101, 108, 122, 129, 130, 139, 146, 151, 159, 161, 168, 170, 181, 211, 213, 231, 234, 237, 245, 246, 268, 274, 277, 286, 289, 290, 291, 296, 311, 317, 334, 341, 360, 374, 375, 378, 390, 396, 397, 400, 402, 406, 411, 424, 445, 471, 475, 481, 483, 490, 492, 501, 512, 514, 520, 530, 552, 562, 567, 572, 576, 586, 600, 615, 619, 623, 646, 650, 655, 657, 658, 663, 665, 666, 679, 688, 700, 705, 708, 714, 727, 734, 743, 744, 752, 759, 765, 777, 785, 793, 795, 796, 804, 809, 813, 821, 823, 827, 834, 836, 837, 844, 846, 854, 858, 862, 889, 892, 904, 915, 920, 921, 927, 930, 939, 943, 952, 969, 975, 987, 988], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 6, 19, 21, 31, 45, 46, 58, 90, 94, 101, 108, 122, 129, 130, 139, 146, 151, 159, 161, 168, 170, 181, 211, 213, 231, 234, 237, 245, 246, 268, 274, 277, 286, 289, 290, 291, 296, 311, 317, 334, 341, 360, 374, 375, 378, 390, 396, 397, 400, 402, 406, 411, 424, 445, 471, 475, 481, 483, 490, 492, 501, 512, 514, 520, 530, 552, 562, 567, 572, 576, 586, 600, 615, 619, 623, 646, 650, 655, 657, 658, 663, 665, 666, 679, 688, 700, 705, 708, 714, 727, 734, 743, 744, 752, 759, 765, 777, 785, 793, 795, 796, 804, 809, 813, 821, 823, 827, 834, 836, 837, 844, 846, 854, 858, 862, 889, 892, 904, 915, 920, 921, 927, 930, 939, 943, 952, 969, 975, 987, 988], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 15, 49, 104, 112, 145, 193, 238, 240, 261, 276, 465, 513, 528, 547, 615, 714, 909, 919, 982, 993} [INFO] [stdout] b items: {2, 11, 39, 40, 42, 74, 82, 100, 102, 125, 128, 137, 138, 187, 211, 219, 230, 234, 256, 263, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 472, 475, 490, 498, 501, 536, 546, 552, 573, 610, 626, 641, 644, 655, 675, 677, 678, 686, 709, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 990, 997, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 994), fp: EncodedCountingMonoid(21, SumMonoid(8825)) }], item_sets: [ItemSet { range: Range(994, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 475), fp: EncodedCountingMonoid(37, SumMonoid(9399)) }, Fingerprint { range: Range(475, 994), fp: EncodedCountingMonoid(36, SumMonoid(25628)) }], item_sets: [ItemSet { range: Range(994, 7), items: [997, 998, 2], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 193), fp: EncodedCountingMonoid(6, SumMonoid(432)) }, Fingerprint { range: Range(193, 475), fp: EncodedCountingMonoid(6, SumMonoid(1673)) }, Fingerprint { range: Range(475, 909), fp: EncodedCountingMonoid(5, SumMonoid(2917)) }, Fingerprint { range: Range(909, 994), fp: EncodedCountingMonoid(4, SumMonoid(3803)) }], item_sets: [], wants: [997, 998, 2], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 102), fp: EncodedCountingMonoid(7, SumMonoid(388)) }, Fingerprint { range: Range(102, 193), fp: EncodedCountingMonoid(6, SumMonoid(817)) }, Fingerprint { range: Range(193, 370), fp: EncodedCountingMonoid(12, SumMonoid(3311)) }, Fingerprint { range: Range(370, 475), fp: EncodedCountingMonoid(12, SumMonoid(4883)) }, Fingerprint { range: Range(475, 726), fp: EncodedCountingMonoid(18, SumMonoid(10772)) }, Fingerprint { range: Range(726, 909), fp: EncodedCountingMonoid(17, SumMonoid(13866)) }], item_sets: [ItemSet { range: Range(909, 994), items: [990], want_response: true }], wants: [], provide: [(997, true), (998, true), (2, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(193, 261), fp: EncodedCountingMonoid(3, SumMonoid(671)) }, Fingerprint { range: Range(475, 615), fp: EncodedCountingMonoid(3, SumMonoid(1588)) }], item_sets: [ItemSet { range: Range(909, 994), items: [909, 919, 982, 993], want_response: false }, ItemSet { range: Range(7, 49), items: [7, 15], want_response: true }, ItemSet { range: Range(49, 102), items: [49], want_response: true }, ItemSet { range: Range(102, 145), items: [104, 112], want_response: true }, ItemSet { range: Range(145, 193), items: [145], want_response: true }, ItemSet { range: Range(261, 370), items: [261, 276], want_response: true }, ItemSet { range: Range(370, 475), items: [465], want_response: true }, ItemSet { range: Range(615, 726), items: [615, 714], want_response: true }, ItemSet { range: Range(726, 909), items: [], want_response: true }], wants: [990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(193, 234), fp: EncodedCountingMonoid(3, SumMonoid(660)) }, Fingerprint { range: Range(475, 546), fp: EncodedCountingMonoid(5, SumMonoid(2500)) }, Fingerprint { range: Range(546, 615), fp: EncodedCountingMonoid(4, SumMonoid(2281)) }], item_sets: [ItemSet { range: Range(7, 49), items: [11, 39, 40, 42], want_response: false }, ItemSet { range: Range(49, 102), items: [74, 82, 100], want_response: false }, ItemSet { range: Range(102, 145), items: [102, 125, 128, 137, 138], want_response: false }, ItemSet { range: Range(145, 193), items: [187], want_response: false }, ItemSet { range: Range(261, 370), items: [263, 279, 294, 307, 324, 334, 360], want_response: false }, ItemSet { range: Range(370, 475), items: [370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 472], want_response: false }, ItemSet { range: Range(615, 726), items: [626, 641, 644, 655, 675, 677, 678, 686, 709], want_response: false }, ItemSet { range: Range(726, 909), items: [726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904], want_response: false }, ItemSet { range: Range(234, 261), items: [234, 256], want_response: true }], wants: [909, 919, 982, 993, 7, 15, 49, 104, 112, 145, 261, 276, 465, 615, 714], provide: [(990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(234, 261), items: [238, 240], want_response: false }, ItemSet { range: Range(193, 234), items: [193], want_response: true }, ItemSet { range: Range(475, 546), items: [513, 528], want_response: true }, ItemSet { range: Range(546, 615), items: [547], want_response: true }], wants: [11, 39, 40, 42, 74, 82, 100, 102, 125, 128, 137, 138, 187, 263, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 472, 626, 641, 644, 655, 675, 677, 678, 686, 709, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 234, 256], provide: [(909, true), (919, true), (982, true), (993, true), (7, true), (15, true), (49, true), (104, true), (112, true), (145, true), (261, true), (276, true), (465, true), (615, true), (714, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(193, 234), items: [211, 219, 230], want_response: false }, ItemSet { range: Range(475, 546), items: [475, 490, 498, 501, 536], want_response: false }, ItemSet { range: Range(546, 615), items: [546, 552, 573, 610], want_response: false }], wants: [238, 240, 193, 513, 528, 547], provide: [(11, true), (39, true), (40, true), (42, true), (74, true), (82, true), (100, true), (102, true), (125, true), (128, true), (137, true), (138, true), (187, true), (263, true), (279, true), (294, true), (307, true), (324, true), (334, true), (360, true), (370, true), (372, true), (374, true), (376, true), (385, true), (387, true), (409, true), (411, true), (436, true), (443, true), (448, true), (472, true), (626, true), (641, true), (644, true), (655, true), (675, true), (677, true), (678, true), (686, true), (709, true), (726, true), (736, true), (744, true), (753, true), (766, true), (779, true), (788, true), (800, true), (804, true), (844, true), (847, true), (860, true), (863, true), (868, true), (886, true), (898, true), (904, true), (234, true), (256, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [211, 219, 230, 475, 490, 498, 501, 536, 546, 552, 573, 610], provide: [(238, true), (240, true), (193, true), (513, true), (528, true), (547, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(211, true), (219, true), (230, true), (475, true), (490, true), (498, true), (501, true), (536, true), (546, true), (552, true), (573, true), (610, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 15, 49, 104, 112, 145, 193, 238, 240, 261, 276, 465, 513, 528, 547, 615, 714, 909, 919, 982, 993} + [997, 998, 2, 990, 11, 39, 40, 42, 74, 82, 100, 102, 125, 128, 137, 138, 187, 263, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 472, 626, 641, 644, 655, 675, 677, 678, 686, 709, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 234, 256, 211, 219, 230, 475, 490, 498, 501, 536, 546, 552, 573, 610] [INFO] [stdout] b all: {2, 11, 39, 40, 42, 74, 82, 100, 102, 125, 128, 137, 138, 187, 211, 219, 230, 234, 256, 263, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 472, 475, 490, 498, 501, 536, 546, 552, 573, 610, 626, 641, 644, 655, 675, 677, 678, 686, 709, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 990, 997, 998} + [909, 919, 982, 993, 7, 15, 49, 104, 112, 145, 261, 276, 465, 615, 714, 238, 240, 193, 513, 528, 547] [INFO] [stdout] [INFO] [stdout] all vec: [2, 7, 11, 15, 39, 40, 42, 49, 74, 82, 100, 102, 104, 112, 125, 128, 137, 138, 145, 187, 193, 211, 219, 230, 234, 238, 240, 256, 261, 263, 276, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 465, 472, 475, 490, 498, 501, 513, 528, 536, 546, 547, 552, 573, 610, 615, 626, 641, 644, 655, 675, 677, 678, 686, 709, 714, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 909, 919, 982, 990, 993, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 7, 11, 15, 39, 40, 42, 49, 74, 82, 100, 102, 104, 112, 125, 128, 137, 138, 145, 187, 193, 211, 219, 230, 234, 238, 240, 256, 261, 263, 276, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 465, 472, 475, 490, 498, 501, 513, 528, 536, 546, 547, 552, 573, 610, 615, 626, 641, 644, 655, 675, 677, 678, 686, 709, 714, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 909, 919, 982, 990, 993, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 7, 11, 15, 39, 40, 42, 49, 74, 82, 100, 102, 104, 112, 125, 128, 137, 138, 145, 187, 193, 211, 219, 230, 234, 238, 240, 256, 261, 263, 276, 279, 294, 307, 324, 334, 360, 370, 372, 374, 376, 385, 387, 409, 411, 436, 443, 448, 465, 472, 475, 490, 498, 501, 513, 528, 536, 546, 547, 552, 573, 610, 615, 626, 641, 644, 655, 675, 677, 678, 686, 709, 714, 726, 736, 744, 753, 766, 779, 788, 800, 804, 844, 847, 860, 863, 868, 886, 898, 904, 909, 919, 982, 990, 993, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {56, 156, 458, 606, 608, 690, 732, 763, 842} [INFO] [stdout] b items: {38, 53, 220, 246, 265, 300, 331, 357, 426, 479, 564, 567, 578, 583, 613, 650, 665, 703, 712, 738, 772, 778, 822, 823, 839, 862, 865, 891, 902, 917} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(56, 843), fp: EncodedCountingMonoid(9, SumMonoid(4911)) }], item_sets: [ItemSet { range: Range(843, 56), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(56, 613), fp: EncodedCountingMonoid(12, SumMonoid(4916)) }, Fingerprint { range: Range(613, 843), fp: EncodedCountingMonoid(11, SumMonoid(8115)) }], item_sets: [ItemSet { range: Range(843, 56), items: [862, 865, 891, 902, 917, 38, 53], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(56, 606), fp: EncodedCountingMonoid(3, SumMonoid(670)) }], item_sets: [ItemSet { range: Range(606, 613), items: [606, 608], want_response: true }, ItemSet { range: Range(613, 763), items: [690, 732], want_response: true }, ItemSet { range: Range(763, 843), items: [763, 842], want_response: true }], wants: [862, 865, 891, 902, 917, 38, 53], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(56, 426), fp: EncodedCountingMonoid(6, SumMonoid(1719)) }, Fingerprint { range: Range(426, 606), fp: EncodedCountingMonoid(6, SumMonoid(3197)) }], item_sets: [ItemSet { range: Range(606, 613), items: [], want_response: false }, ItemSet { range: Range(613, 763), items: [613, 650, 665, 703, 712, 738], want_response: false }, ItemSet { range: Range(763, 843), items: [772, 778, 822, 823, 839], want_response: false }], wants: [606, 608, 690, 732, 763, 842], provide: [(862, true), (865, true), (891, true), (902, true), (917, true), (38, true), (53, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(56, 426), items: [56, 156], want_response: true }, ItemSet { range: Range(426, 606), items: [458], want_response: true }], wants: [613, 650, 665, 703, 712, 738, 772, 778, 822, 823, 839], provide: [(606, true), (608, true), (690, true), (732, true), (763, true), (842, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(56, 426), items: [220, 246, 265, 300, 331, 357], want_response: false }, ItemSet { range: Range(426, 606), items: [426, 479, 564, 567, 578, 583], want_response: false }], wants: [56, 156, 458], provide: [(613, true), (650, true), (665, true), (703, true), (712, true), (738, true), (772, true), (778, true), (822, true), (823, true), (839, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [220, 246, 265, 300, 331, 357, 426, 479, 564, 567, 578, 583], provide: [(56, true), (156, true), (458, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(220, true), (246, true), (265, true), (300, true), (331, true), (357, true), (426, true), (479, true), (564, true), (567, true), (578, true), (583, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {56, 156, 458, 606, 608, 690, 732, 763, 842} + [862, 865, 891, 902, 917, 38, 53, 613, 650, 665, 703, 712, 738, 772, 778, 822, 823, 839, 220, 246, 265, 300, 331, 357, 426, 479, 564, 567, 578, 583] [INFO] [stdout] b all: {38, 53, 220, 246, 265, 300, 331, 357, 426, 479, 564, 567, 578, 583, 613, 650, 665, 703, 712, 738, 772, 778, 822, 823, 839, 862, 865, 891, 902, 917} + [606, 608, 690, 732, 763, 842, 56, 156, 458] [INFO] [stdout] [INFO] [stdout] all vec: [38, 53, 56, 156, 220, 246, 265, 300, 331, 357, 426, 458, 479, 564, 567, 578, 583, 606, 608, 613, 650, 665, 690, 703, 712, 732, 738, 763, 772, 778, 822, 823, 839, 842, 862, 865, 891, 902, 917] [INFO] [stdout] [INFO] [stdout] a all vec: [38, 53, 56, 156, 220, 246, 265, 300, 331, 357, 426, 458, 479, 564, 567, 578, 583, 606, 608, 613, 650, 665, 690, 703, 712, 732, 738, 763, 772, 778, 822, 823, 839, 842, 862, 865, 891, 902, 917], true true [INFO] [stdout] [INFO] [stdout] b all vec: [38, 53, 56, 156, 220, 246, 265, 300, 331, 357, 426, 458, 479, 564, 567, 578, 583, 606, 608, 613, 650, 665, 690, 703, 712, 732, 738, 763, 772, 778, 822, 823, 839, 842, 862, 865, 891, 902, 917], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {9, 36, 132, 149, 162, 184, 197, 206, 257, 270, 279, 359, 409, 438, 450, 457, 485, 501, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982} [INFO] [stdout] b items: {46, 315, 417, 434, 511} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 983), fp: EncodedCountingMonoid(36, SumMonoid(18169)) }], item_sets: [ItemSet { range: Range(983, 9), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 434), fp: EncodedCountingMonoid(3, SumMonoid(778)) }], item_sets: [ItemSet { range: Range(983, 9), items: [], want_response: false }, ItemSet { range: Range(434, 983), items: [434, 511], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 206), fp: EncodedCountingMonoid(7, SumMonoid(869)) }, Fingerprint { range: Range(206, 434), fp: EncodedCountingMonoid(6, SumMonoid(1780)) }], item_sets: [ItemSet { range: Range(434, 983), items: [438, 450, 457, 485, 501, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982], want_response: false }], wants: [434, 511], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(9, 206), items: [46], want_response: true }, ItemSet { range: Range(206, 434), items: [315, 417], want_response: true }], wants: [438, 450, 457, 485, 501, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982], provide: [(434, true), (511, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(9, 206), items: [9, 36, 132, 149, 162, 184, 197], want_response: false }, ItemSet { range: Range(206, 434), items: [206, 257, 270, 279, 359, 409], want_response: false }], wants: [46, 315, 417], provide: [(438, true), (450, true), (457, true), (485, true), (501, true), (538, true), (574, true), (579, true), (599, true), (626, true), (637, true), (685, true), (699, true), (704, true), (744, true), (766, true), (782, true), (800, true), (830, true), (842, true), (869, true), (933, true), (982, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [9, 36, 132, 149, 162, 184, 197, 206, 257, 270, 279, 359, 409], provide: [(46, true), (315, true), (417, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(9, true), (36, true), (132, true), (149, true), (162, true), (184, true), (197, true), (206, true), (257, true), (270, true), (279, true), (359, true), (409, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {9, 36, 132, 149, 162, 184, 197, 206, 257, 270, 279, 359, 409, 438, 450, 457, 485, 501, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982} + [434, 511, 46, 315, 417] [INFO] [stdout] b all: {46, 315, 417, 434, 511} + [438, 450, 457, 485, 501, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982, 9, 36, 132, 149, 162, 184, 197, 206, 257, 270, 279, 359, 409] [INFO] [stdout] [INFO] [stdout] all vec: [9, 36, 46, 132, 149, 162, 184, 197, 206, 257, 270, 279, 315, 359, 409, 417, 434, 438, 450, 457, 485, 501, 511, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 36, 46, 132, 149, 162, 184, 197, 206, 257, 270, 279, 315, 359, 409, 417, 434, 438, 450, 457, 485, 501, 511, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 36, 46, 132, 149, 162, 184, 197, 206, 257, 270, 279, 315, 359, 409, 417, 434, 438, 450, 457, 485, 501, 511, 538, 574, 579, 599, 626, 637, 685, 699, 704, 744, 766, 782, 800, 830, 842, 869, 933, 982], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {11, 18, 58, 66, 70, 90, 96, 101, 120, 136, 150, 159, 180, 190, 194, 226, 239, 246, 256, 262, 270, 275, 278, 287, 290, 302, 306, 308, 347, 348, 349, 368, 407, 420, 423, 425, 465, 477, 488, 519, 523, 560, 582, 603, 624, 635, 636, 641, 649, 665, 673, 684, 695, 697, 713, 714, 728, 737, 749, 769, 771, 778, 786, 800, 804, 809, 816, 825, 873, 891, 900, 937, 951, 956, 965, 984, 988} [INFO] [stdout] b items: {9, 15, 34, 37, 46, 91, 93, 117, 125, 128, 156, 178, 194, 196, 198, 208, 220, 239, 245, 246, 252, 259, 263, 289, 314, 325, 326, 329, 335, 343, 363, 395, 418, 432, 435, 453, 475, 496, 508, 517, 536, 542, 549, 551, 561, 566, 567, 569, 578, 603, 613, 615, 616, 625, 646, 676, 686, 691, 707, 712, 739, 745, 785, 786, 791, 812, 821, 835, 836, 848, 852, 861, 864, 885, 890, 909, 916, 928, 931, 962, 972} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 989), fp: EncodedCountingMonoid(77, SumMonoid(38331)) }], item_sets: [ItemSet { range: Range(989, 11), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 542), fp: EncodedCountingMonoid(40, SumMonoid(10829)) }, Fingerprint { range: Range(542, 989), fp: EncodedCountingMonoid(40, SumMonoid(29641)) }], item_sets: [ItemSet { range: Range(989, 11), items: [9], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 275), fp: EncodedCountingMonoid(21, SumMonoid(3138)) }, Fingerprint { range: Range(275, 542), fp: EncodedCountingMonoid(20, SumMonoid(7605)) }, Fingerprint { range: Range(542, 769), fp: EncodedCountingMonoid(18, SumMonoid(11985)) }, Fingerprint { range: Range(769, 989), fp: EncodedCountingMonoid(18, SumMonoid(15603)) }], item_sets: [], wants: [9], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 194), fp: EncodedCountingMonoid(11, SumMonoid(1020)) }, Fingerprint { range: Range(194, 275), fp: EncodedCountingMonoid(11, SumMonoid(2520)) }, Fingerprint { range: Range(275, 418), fp: EncodedCountingMonoid(9, SumMonoid(3019)) }, Fingerprint { range: Range(418, 542), fp: EncodedCountingMonoid(9, SumMonoid(4270)) }, Fingerprint { range: Range(542, 616), fp: EncodedCountingMonoid(11, SumMonoid(6314)) }, Fingerprint { range: Range(616, 769), fp: EncodedCountingMonoid(10, SumMonoid(6843)) }, Fingerprint { range: Range(769, 864), fp: EncodedCountingMonoid(10, SumMonoid(8227)) }, Fingerprint { range: Range(864, 989), fp: EncodedCountingMonoid(9, SumMonoid(8257)) }], item_sets: [], wants: [], provide: [(9, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 101), fp: EncodedCountingMonoid(7, SumMonoid(409)) }, Fingerprint { range: Range(101, 194), fp: EncodedCountingMonoid(7, SumMonoid(1036)) }, Fingerprint { range: Range(194, 256), fp: EncodedCountingMonoid(4, SumMonoid(905)) }, Fingerprint { range: Range(256, 275), fp: EncodedCountingMonoid(3, SumMonoid(788)) }, Fingerprint { range: Range(275, 308), fp: EncodedCountingMonoid(6, SumMonoid(1738)) }, Fingerprint { range: Range(308, 418), fp: EncodedCountingMonoid(6, SumMonoid(2127)) }, Fingerprint { range: Range(418, 477), fp: EncodedCountingMonoid(4, SumMonoid(1733)) }, Fingerprint { range: Range(477, 542), fp: EncodedCountingMonoid(4, SumMonoid(2007)) }, Fingerprint { range: Range(616, 695), fp: EncodedCountingMonoid(8, SumMonoid(5207)) }, Fingerprint { range: Range(695, 769), fp: EncodedCountingMonoid(7, SumMonoid(5033)) }, Fingerprint { range: Range(769, 804), fp: EncodedCountingMonoid(5, SumMonoid(3904)) }, Fingerprint { range: Range(804, 864), fp: EncodedCountingMonoid(4, SumMonoid(3254)) }, Fingerprint { range: Range(864, 956), fp: EncodedCountingMonoid(5, SumMonoid(4552)) }, Fingerprint { range: Range(956, 989), fp: EncodedCountingMonoid(4, SumMonoid(3893)) }], item_sets: [ItemSet { range: Range(542, 603), items: [560, 582], want_response: true }, ItemSet { range: Range(603, 616), items: [603], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 46), fp: EncodedCountingMonoid(3, SumMonoid(86)) }, Fingerprint { range: Range(46, 101), fp: EncodedCountingMonoid(3, SumMonoid(230)) }, Fingerprint { range: Range(101, 156), fp: EncodedCountingMonoid(3, SumMonoid(370)) }, Fingerprint { range: Range(194, 239), fp: EncodedCountingMonoid(5, SumMonoid(1016)) }, Fingerprint { range: Range(239, 256), fp: EncodedCountingMonoid(4, SumMonoid(982)) }, Fingerprint { range: Range(308, 335), fp: EncodedCountingMonoid(4, SumMonoid(1294)) }, Fingerprint { range: Range(335, 418), fp: EncodedCountingMonoid(4, SumMonoid(1436)) }, Fingerprint { range: Range(418, 453), fp: EncodedCountingMonoid(3, SumMonoid(1285)) }, Fingerprint { range: Range(616, 676), fp: EncodedCountingMonoid(3, SumMonoid(1887)) }, Fingerprint { range: Range(676, 695), fp: EncodedCountingMonoid(3, SumMonoid(2053)) }, Fingerprint { range: Range(804, 848), fp: EncodedCountingMonoid(4, SumMonoid(3304)) }, Fingerprint { range: Range(848, 864), fp: EncodedCountingMonoid(3, SumMonoid(2561)) }, Fingerprint { range: Range(864, 916), fp: EncodedCountingMonoid(4, SumMonoid(3548)) }, Fingerprint { range: Range(916, 956), fp: EncodedCountingMonoid(3, SumMonoid(2775)) }], item_sets: [ItemSet { range: Range(542, 603), items: [542, 549, 551, 561, 566, 567, 569, 578], want_response: false }, ItemSet { range: Range(603, 616), items: [603, 613, 615], want_response: false }, ItemSet { range: Range(156, 194), items: [156, 178], want_response: true }, ItemSet { range: Range(256, 275), items: [259, 263], want_response: true }, ItemSet { range: Range(275, 308), items: [289], want_response: true }, ItemSet { range: Range(453, 477), items: [453, 475], want_response: true }, ItemSet { range: Range(477, 517), items: [496, 508], want_response: true }, ItemSet { range: Range(517, 542), items: [517, 536], want_response: true }, ItemSet { range: Range(695, 739), items: [707, 712], want_response: true }, ItemSet { range: Range(739, 769), items: [739, 745], want_response: true }, ItemSet { range: Range(769, 791), items: [785, 786], want_response: true }, ItemSet { range: Range(791, 804), items: [791], want_response: true }, ItemSet { range: Range(956, 989), items: [962, 972], want_response: true }], wants: [560, 582], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(46, 90), fp: EncodedCountingMonoid(3, SumMonoid(194)) }, Fingerprint { range: Range(335, 368), fp: EncodedCountingMonoid(3, SumMonoid(1044)) }, Fingerprint { range: Range(616, 649), fp: EncodedCountingMonoid(4, SumMonoid(2536)) }, Fingerprint { range: Range(649, 676), fp: EncodedCountingMonoid(3, SumMonoid(1987)) }], item_sets: [ItemSet { range: Range(156, 194), items: [159, 180, 190], want_response: false }, ItemSet { range: Range(256, 275), items: [256, 262, 270], want_response: false }, ItemSet { range: Range(275, 308), items: [275, 278, 287, 290, 302, 306], want_response: false }, ItemSet { range: Range(453, 477), items: [465], want_response: false }, ItemSet { range: Range(477, 517), items: [477, 488], want_response: false }, ItemSet { range: Range(517, 542), items: [519, 523], want_response: false }, ItemSet { range: Range(695, 739), items: [695, 697, 713, 714, 728, 737], want_response: false }, ItemSet { range: Range(739, 769), items: [749], want_response: false }, ItemSet { range: Range(769, 791), items: [769, 771, 778, 786], want_response: false }, ItemSet { range: Range(791, 804), items: [800], want_response: false }, ItemSet { range: Range(956, 989), items: [956, 965, 984, 988], want_response: false }, ItemSet { range: Range(11, 46), items: [11, 18], want_response: true }, ItemSet { range: Range(90, 101), items: [90, 96], want_response: true }, ItemSet { range: Range(101, 136), items: [101, 120], want_response: true }, ItemSet { range: Range(136, 156), items: [136, 150], want_response: true }, ItemSet { range: Range(194, 239), items: [194, 226], want_response: true }, ItemSet { range: Range(239, 256), items: [239, 246], want_response: true }, ItemSet { range: Range(308, 335), items: [308], want_response: true }, ItemSet { range: Range(368, 418), items: [368, 407], want_response: true }, ItemSet { range: Range(418, 425), items: [420, 423], want_response: true }, ItemSet { range: Range(425, 453), items: [425], want_response: true }, ItemSet { range: Range(676, 695), items: [684], want_response: true }, ItemSet { range: Range(804, 816), items: [804, 809], want_response: true }, ItemSet { range: Range(816, 848), items: [816, 825], want_response: true }, ItemSet { range: Range(848, 864), items: [], want_response: true }, ItemSet { range: Range(864, 900), items: [873, 891], want_response: true }, ItemSet { range: Range(900, 916), items: [900], want_response: true }, ItemSet { range: Range(916, 956), items: [937, 951], want_response: true }], wants: [542, 549, 551, 561, 566, 567, 569, 578, 613, 615, 156, 178, 259, 263, 289, 453, 475, 496, 508, 517, 536, 707, 712, 739, 745, 785, 791, 962, 972], provide: [(560, true), (582, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 46), items: [15, 34, 37], want_response: false }, ItemSet { range: Range(90, 101), items: [91, 93], want_response: false }, ItemSet { range: Range(101, 136), items: [117, 125, 128], want_response: false }, ItemSet { range: Range(136, 156), items: [], want_response: false }, ItemSet { range: Range(194, 239), items: [194, 196, 198, 208, 220], want_response: false }, ItemSet { range: Range(239, 256), items: [239, 245, 246, 252], want_response: false }, ItemSet { range: Range(308, 335), items: [314, 325, 326, 329], want_response: false }, ItemSet { range: Range(368, 418), items: [395], want_response: false }, ItemSet { range: Range(418, 425), items: [418], want_response: false }, ItemSet { range: Range(425, 453), items: [432, 435], want_response: false }, ItemSet { range: Range(676, 695), items: [676, 686, 691], want_response: false }, ItemSet { range: Range(804, 816), items: [812], want_response: false }, ItemSet { range: Range(816, 848), items: [821, 835, 836], want_response: false }, ItemSet { range: Range(848, 864), items: [848, 852, 861], want_response: false }, ItemSet { range: Range(864, 900), items: [864, 885, 890], want_response: false }, ItemSet { range: Range(900, 916), items: [909], want_response: false }, ItemSet { range: Range(916, 956), items: [916, 928, 931], want_response: false }, ItemSet { range: Range(46, 90), items: [46], want_response: true }, ItemSet { range: Range(335, 363), items: [335, 343], want_response: true }, ItemSet { range: Range(363, 368), items: [363], want_response: true }, ItemSet { range: Range(616, 646), items: [616, 625], want_response: true }, ItemSet { range: Range(646, 649), items: [646], want_response: true }, ItemSet { range: Range(649, 676), items: [], want_response: true }], wants: [159, 180, 190, 256, 262, 270, 275, 278, 287, 290, 302, 306, 465, 477, 488, 519, 523, 695, 697, 713, 714, 728, 737, 749, 769, 771, 778, 800, 956, 965, 984, 988, 11, 18, 90, 96, 101, 120, 136, 150, 226, 308, 368, 407, 420, 423, 425, 684, 804, 809, 816, 825, 873, 891, 900, 937, 951], provide: [(542, true), (549, true), (551, true), (561, true), (566, true), (567, true), (569, true), (578, true), (613, true), (615, true), (156, true), (178, true), (259, true), (263, true), (289, true), (453, true), (475, true), (496, true), (508, true), (517, true), (536, true), (707, true), (712, true), (739, true), (745, true), (785, true), (791, true), (962, true), (972, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(46, 90), items: [58, 66, 70], want_response: false }, ItemSet { range: Range(335, 363), items: [347, 348, 349], want_response: false }, ItemSet { range: Range(363, 368), items: [], want_response: false }, ItemSet { range: Range(616, 646), items: [624, 635, 636, 641], want_response: false }, ItemSet { range: Range(646, 649), items: [], want_response: false }, ItemSet { range: Range(649, 676), items: [649, 665, 673], want_response: false }], wants: [15, 34, 37, 91, 93, 117, 125, 128, 196, 198, 208, 220, 245, 252, 314, 325, 326, 329, 395, 418, 432, 435, 676, 686, 691, 812, 821, 835, 836, 848, 852, 861, 864, 885, 890, 909, 916, 928, 931, 46, 335, 343, 363, 616, 625, 646], provide: [(159, true), (180, true), (190, true), (256, true), (262, true), (270, true), (275, true), (278, true), (287, true), (290, true), (302, true), (306, true), (465, true), (477, true), (488, true), (519, true), (523, true), (695, true), (697, true), (713, true), (714, true), (728, true), (737, true), (749, true), (769, true), (771, true), (778, true), (800, true), (956, true), (965, true), (984, true), (988, true), (11, true), (18, true), (90, true), (96, true), (101, true), (120, true), (136, true), (150, true), (226, true), (308, true), (368, true), (407, true), (420, true), (423, true), (425, true), (684, true), (804, true), (809, true), (816, true), (825, true), (873, true), (891, true), (900, true), (937, true), (951, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [58, 66, 70, 347, 348, 349, 624, 635, 636, 641, 649, 665, 673], provide: [(15, true), (34, true), (37, true), (91, true), (93, true), (117, true), (125, true), (128, true), (196, true), (198, true), (208, true), (220, true), (245, true), (252, true), (314, true), (325, true), (326, true), (329, true), (395, true), (418, true), (432, true), (435, true), (676, true), (686, true), (691, true), (812, true), (821, true), (835, true), (836, true), (848, true), (852, true), (861, true), (864, true), (885, true), (890, true), (909, true), (916, true), (928, true), (931, true), (46, true), (335, true), (343, true), (363, true), (616, true), (625, true), (646, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(58, true), (66, true), (70, true), (347, true), (348, true), (349, true), (624, true), (635, true), (636, true), (641, true), (649, true), (665, true), (673, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {11, 18, 58, 66, 70, 90, 96, 101, 120, 136, 150, 159, 180, 190, 194, 226, 239, 246, 256, 262, 270, 275, 278, 287, 290, 302, 306, 308, 347, 348, 349, 368, 407, 420, 423, 425, 465, 477, 488, 519, 523, 560, 582, 603, 624, 635, 636, 641, 649, 665, 673, 684, 695, 697, 713, 714, 728, 737, 749, 769, 771, 778, 786, 800, 804, 809, 816, 825, 873, 891, 900, 937, 951, 956, 965, 984, 988} + [9, 542, 549, 551, 561, 566, 567, 569, 578, 613, 615, 156, 178, 259, 263, 289, 453, 475, 496, 508, 517, 536, 707, 712, 739, 745, 785, 791, 962, 972, 15, 34, 37, 91, 93, 117, 125, 128, 196, 198, 208, 220, 245, 252, 314, 325, 326, 329, 395, 418, 432, 435, 676, 686, 691, 812, 821, 835, 836, 848, 852, 861, 864, 885, 890, 909, 916, 928, 931, 46, 335, 343, 363, 616, 625, 646] [INFO] [stdout] b all: {9, 15, 34, 37, 46, 91, 93, 117, 125, 128, 156, 178, 194, 196, 198, 208, 220, 239, 245, 246, 252, 259, 263, 289, 314, 325, 326, 329, 335, 343, 363, 395, 418, 432, 435, 453, 475, 496, 508, 517, 536, 542, 549, 551, 561, 566, 567, 569, 578, 603, 613, 615, 616, 625, 646, 676, 686, 691, 707, 712, 739, 745, 785, 786, 791, 812, 821, 835, 836, 848, 852, 861, 864, 885, 890, 909, 916, 928, 931, 962, 972} + [560, 582, 159, 180, 190, 256, 262, 270, 275, 278, 287, 290, 302, 306, 465, 477, 488, 519, 523, 695, 697, 713, 714, 728, 737, 749, 769, 771, 778, 800, 956, 965, 984, 988, 11, 18, 90, 96, 101, 120, 136, 150, 226, 308, 368, 407, 420, 423, 425, 684, 804, 809, 816, 825, 873, 891, 900, 937, 951, 58, 66, 70, 347, 348, 349, 624, 635, 636, 641, 649, 665, 673] [INFO] [stdout] [INFO] [stdout] all vec: [9, 11, 15, 18, 34, 37, 46, 58, 66, 70, 90, 91, 93, 96, 101, 117, 120, 125, 128, 136, 150, 156, 159, 178, 180, 190, 194, 196, 198, 208, 220, 226, 239, 245, 246, 252, 256, 259, 262, 263, 270, 275, 278, 287, 289, 290, 302, 306, 308, 314, 325, 326, 329, 335, 343, 347, 348, 349, 363, 368, 395, 407, 418, 420, 423, 425, 432, 435, 453, 465, 475, 477, 488, 496, 508, 517, 519, 523, 536, 542, 549, 551, 560, 561, 566, 567, 569, 578, 582, 603, 613, 615, 616, 624, 625, 635, 636, 641, 646, 649, 665, 673, 676, 684, 686, 691, 695, 697, 707, 712, 713, 714, 728, 737, 739, 745, 749, 769, 771, 778, 785, 786, 791, 800, 804, 809, 812, 816, 821, 825, 835, 836, 848, 852, 861, 864, 873, 885, 890, 891, 900, 909, 916, 928, 931, 937, 951, 956, 962, 965, 972, 984, 988] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 11, 15, 18, 34, 37, 46, 58, 66, 70, 90, 91, 93, 96, 101, 117, 120, 125, 128, 136, 150, 156, 159, 178, 180, 190, 194, 196, 198, 208, 220, 226, 239, 245, 246, 252, 256, 259, 262, 263, 270, 275, 278, 287, 289, 290, 302, 306, 308, 314, 325, 326, 329, 335, 343, 347, 348, 349, 363, 368, 395, 407, 418, 420, 423, 425, 432, 435, 453, 465, 475, 477, 488, 496, 508, 517, 519, 523, 536, 542, 549, 551, 560, 561, 566, 567, 569, 578, 582, 603, 613, 615, 616, 624, 625, 635, 636, 641, 646, 649, 665, 673, 676, 684, 686, 691, 695, 697, 707, 712, 713, 714, 728, 737, 739, 745, 749, 769, 771, 778, 785, 786, 791, 800, 804, 809, 812, 816, 821, 825, 835, 836, 848, 852, 861, 864, 873, 885, 890, 891, 900, 909, 916, 928, 931, 937, 951, 956, 962, 965, 972, 984, 988], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 11, 15, 18, 34, 37, 46, 58, 66, 70, 90, 91, 93, 96, 101, 117, 120, 125, 128, 136, 150, 156, 159, 178, 180, 190, 194, 196, 198, 208, 220, 226, 239, 245, 246, 252, 256, 259, 262, 263, 270, 275, 278, 287, 289, 290, 302, 306, 308, 314, 325, 326, 329, 335, 343, 347, 348, 349, 363, 368, 395, 407, 418, 420, 423, 425, 432, 435, 453, 465, 475, 477, 488, 496, 508, 517, 519, 523, 536, 542, 549, 551, 560, 561, 566, 567, 569, 578, 582, 603, 613, 615, 616, 624, 625, 635, 636, 641, 646, 649, 665, 673, 676, 684, 686, 691, 695, 697, 707, 712, 713, 714, 728, 737, 739, 745, 749, 769, 771, 778, 785, 786, 791, 800, 804, 809, 812, 816, 821, 825, 835, 836, 848, 852, 861, 864, 873, 885, 890, 891, 900, 909, 916, 928, 931, 937, 951, 956, 962, 965, 972, 984, 988], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 33, 38, 70, 100, 130, 143, 187, 194, 215, 242, 252, 270, 292, 321, 328, 348, 382, 480, 500, 505, 516, 535, 565, 569, 579, 580, 597, 685, 692, 700, 733, 748, 795, 800, 839, 890, 910, 911, 928, 938, 942, 983} [INFO] [stdout] b items: {41, 88, 170, 190, 219, 239, 240, 245, 262, 269, 315, 330, 459, 462, 503, 514, 746, 835, 888, 896, 901, 981} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 984), fp: EncodedCountingMonoid(43, SumMonoid(21466)) }], item_sets: [ItemSet { range: Range(984, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 330), fp: EncodedCountingMonoid(11, SumMonoid(2278)) }, Fingerprint { range: Range(330, 984), fp: EncodedCountingMonoid(11, SumMonoid(7515)) }], item_sets: [ItemSet { range: Range(984, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 194), fp: EncodedCountingMonoid(8, SumMonoid(702)) }, Fingerprint { range: Range(194, 330), fp: EncodedCountingMonoid(8, SumMonoid(2114)) }, Fingerprint { range: Range(330, 700), fp: EncodedCountingMonoid(14, SumMonoid(7533)) }, Fingerprint { range: Range(700, 984), fp: EncodedCountingMonoid(13, SumMonoid(11117)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(194, 262), fp: EncodedCountingMonoid(4, SumMonoid(943)) }, Fingerprint { range: Range(262, 330), fp: EncodedCountingMonoid(3, SumMonoid(846)) }, Fingerprint { range: Range(330, 503), fp: EncodedCountingMonoid(3, SumMonoid(1251)) }, Fingerprint { range: Range(700, 896), fp: EncodedCountingMonoid(3, SumMonoid(2469)) }, Fingerprint { range: Range(896, 984), fp: EncodedCountingMonoid(3, SumMonoid(2778)) }], item_sets: [ItemSet { range: Range(1, 170), items: [41, 88], want_response: true }, ItemSet { range: Range(170, 194), items: [170, 190], want_response: true }, ItemSet { range: Range(503, 700), items: [503, 514], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(700, 800), fp: EncodedCountingMonoid(4, SumMonoid(2976)) }, Fingerprint { range: Range(800, 896), fp: EncodedCountingMonoid(3, SumMonoid(2529)) }, Fingerprint { range: Range(896, 938), fp: EncodedCountingMonoid(3, SumMonoid(2749)) }, Fingerprint { range: Range(938, 984), fp: EncodedCountingMonoid(3, SumMonoid(2863)) }], item_sets: [ItemSet { range: Range(1, 170), items: [1, 33, 38, 70, 100, 130, 143], want_response: false }, ItemSet { range: Range(170, 194), items: [187], want_response: false }, ItemSet { range: Range(503, 700), items: [505, 516, 535, 565, 569, 579, 580, 597, 685, 692], want_response: false }, ItemSet { range: Range(194, 242), items: [194, 215], want_response: true }, ItemSet { range: Range(242, 262), items: [242, 252], want_response: true }, ItemSet { range: Range(262, 321), items: [270, 292], want_response: true }, ItemSet { range: Range(321, 330), items: [321, 328], want_response: true }, ItemSet { range: Range(330, 480), items: [348, 382], want_response: true }, ItemSet { range: Range(480, 503), items: [480, 500], want_response: true }], wants: [41, 88, 170, 190, 503, 514], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(194, 242), items: [219, 239, 240], want_response: false }, ItemSet { range: Range(242, 262), items: [245], want_response: false }, ItemSet { range: Range(262, 321), items: [262, 269, 315], want_response: false }, ItemSet { range: Range(321, 330), items: [], want_response: false }, ItemSet { range: Range(330, 480), items: [330, 459, 462], want_response: false }, ItemSet { range: Range(480, 503), items: [], want_response: false }, ItemSet { range: Range(700, 800), items: [746], want_response: true }, ItemSet { range: Range(800, 896), items: [835, 888], want_response: true }, ItemSet { range: Range(896, 938), items: [896, 901], want_response: true }, ItemSet { range: Range(938, 984), items: [981], want_response: true }], wants: [1, 33, 38, 70, 100, 130, 143, 187, 505, 516, 535, 565, 569, 579, 580, 597, 685, 692, 194, 215, 242, 252, 270, 292, 321, 328, 348, 382, 480, 500], provide: [(41, true), (88, true), (170, true), (190, true), (503, true), (514, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(700, 800), items: [700, 733, 748, 795], want_response: false }, ItemSet { range: Range(800, 896), items: [800, 839, 890], want_response: false }, ItemSet { range: Range(896, 938), items: [910, 911, 928], want_response: false }, ItemSet { range: Range(938, 984), items: [938, 942, 983], want_response: false }], wants: [219, 239, 240, 245, 262, 269, 315, 330, 459, 462, 746, 835, 888, 896, 901, 981], provide: [(1, true), (33, true), (38, true), (70, true), (100, true), (130, true), (143, true), (187, true), (505, true), (516, true), (535, true), (565, true), (569, true), (579, true), (580, true), (597, true), (685, true), (692, true), (194, true), (215, true), (242, true), (252, true), (270, true), (292, true), (321, true), (328, true), (348, true), (382, true), (480, true), (500, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [700, 733, 748, 795, 800, 839, 890, 910, 911, 928, 938, 942, 983], provide: [(219, true), (239, true), (240, true), (245, true), (262, true), (269, true), (315, true), (330, true), (459, true), (462, true), (746, true), (835, true), (888, true), (896, true), (901, true), (981, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(700, true), (733, true), (748, true), (795, true), (800, true), (839, true), (890, true), (910, true), (911, true), (928, true), (938, true), (942, true), (983, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 33, 38, 70, 100, 130, 143, 187, 194, 215, 242, 252, 270, 292, 321, 328, 348, 382, 480, 500, 505, 516, 535, 565, 569, 579, 580, 597, 685, 692, 700, 733, 748, 795, 800, 839, 890, 910, 911, 928, 938, 942, 983} + [41, 88, 170, 190, 503, 514, 219, 239, 240, 245, 262, 269, 315, 330, 459, 462, 746, 835, 888, 896, 901, 981] [INFO] [stdout] b all: {41, 88, 170, 190, 219, 239, 240, 245, 262, 269, 315, 330, 459, 462, 503, 514, 746, 835, 888, 896, 901, 981} + [1, 33, 38, 70, 100, 130, 143, 187, 505, 516, 535, 565, 569, 579, 580, 597, 685, 692, 194, 215, 242, 252, 270, 292, 321, 328, 348, 382, 480, 500, 700, 733, 748, 795, 800, 839, 890, 910, 911, 928, 938, 942, 983] [INFO] [stdout] [INFO] [stdout] all vec: [1, 33, 38, 41, 70, 88, 100, 130, 143, 170, 187, 190, 194, 215, 219, 239, 240, 242, 245, 252, 262, 269, 270, 292, 315, 321, 328, 330, 348, 382, 459, 462, 480, 500, 503, 505, 514, 516, 535, 565, 569, 579, 580, 597, 685, 692, 700, 733, 746, 748, 795, 800, 835, 839, 888, 890, 896, 901, 910, 911, 928, 938, 942, 981, 983] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 33, 38, 41, 70, 88, 100, 130, 143, 170, 187, 190, 194, 215, 219, 239, 240, 242, 245, 252, 262, 269, 270, 292, 315, 321, 328, 330, 348, 382, 459, 462, 480, 500, 503, 505, 514, 516, 535, 565, 569, 579, 580, 597, 685, 692, 700, 733, 746, 748, 795, 800, 835, 839, 888, 890, 896, 901, 910, 911, 928, 938, 942, 981, 983], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 33, 38, 41, 70, 88, 100, 130, 143, 170, 187, 190, 194, 215, 219, 239, 240, 242, 245, 252, 262, 269, 270, 292, 315, 321, 328, 330, 348, 382, 459, 462, 480, 500, 503, 505, 514, 516, 535, 565, 569, 579, 580, 597, 685, 692, 700, 733, 746, 748, 795, 800, 835, 839, 888, 890, 896, 901, 910, 911, 928, 938, 942, 981, 983], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 19, 44, 56, 57, 100, 106, 124, 147, 150, 151, 163, 199, 200, 202, 209, 228, 239, 243, 256, 270, 281, 284, 300, 301, 314, 336, 360, 383, 453, 454, 475, 496, 509, 536, 558, 584, 585, 619, 661, 669, 670, 702, 707, 723, 728, 735, 739, 754, 787, 790, 837, 847, 852, 892, 912, 917, 933, 940, 945, 946, 958, 963, 987, 997} [INFO] [stdout] b items: {5, 42, 43, 81, 91, 121, 145, 200, 219, 234, 243, 252, 255, 290, 297, 311, 319, 324, 399, 406, 435, 450, 467, 507, 565, 566, 575, 584, 594, 661, 687, 709, 740, 743, 745, 766, 781, 790, 817, 828, 872, 876, 883, 938, 942, 985, 989, 993, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 998), fp: EncodedCountingMonoid(65, SumMonoid(32598)) }], item_sets: [ItemSet { range: Range(998, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 566), fp: EncodedCountingMonoid(24, SumMonoid(6696)) }, Fingerprint { range: Range(566, 998), fp: EncodedCountingMonoid(24, SumMonoid(19060)) }], item_sets: [ItemSet { range: Range(998, 16), items: [5], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 243), fp: EncodedCountingMonoid(18, SumMonoid(2410)) }, Fingerprint { range: Range(243, 566), fp: EncodedCountingMonoid(18, SumMonoid(6809)) }, Fingerprint { range: Range(566, 837), fp: EncodedCountingMonoid(15, SumMonoid(10453)) }, Fingerprint { range: Range(837, 998), fp: EncodedCountingMonoid(14, SumMonoid(12926)) }], item_sets: [], wants: [5], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 145), fp: EncodedCountingMonoid(5, SumMonoid(378)) }, Fingerprint { range: Range(145, 243), fp: EncodedCountingMonoid(4, SumMonoid(798)) }, Fingerprint { range: Range(243, 399), fp: EncodedCountingMonoid(8, SumMonoid(2291)) }, Fingerprint { range: Range(399, 566), fp: EncodedCountingMonoid(7, SumMonoid(3229)) }, Fingerprint { range: Range(566, 743), fp: EncodedCountingMonoid(8, SumMonoid(5116)) }, Fingerprint { range: Range(743, 837), fp: EncodedCountingMonoid(7, SumMonoid(5470)) }, Fingerprint { range: Range(837, 985), fp: EncodedCountingMonoid(5, SumMonoid(4511)) }, Fingerprint { range: Range(985, 998), fp: EncodedCountingMonoid(4, SumMonoid(3963)) }], item_sets: [], wants: [], provide: [(5, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 57), fp: EncodedCountingMonoid(4, SumMonoid(135)) }, Fingerprint { range: Range(57, 145), fp: EncodedCountingMonoid(4, SumMonoid(387)) }, Fingerprint { range: Range(145, 200), fp: EncodedCountingMonoid(5, SumMonoid(810)) }, Fingerprint { range: Range(200, 243), fp: EncodedCountingMonoid(5, SumMonoid(1078)) }, Fingerprint { range: Range(243, 301), fp: EncodedCountingMonoid(6, SumMonoid(1634)) }, Fingerprint { range: Range(301, 399), fp: EncodedCountingMonoid(5, SumMonoid(1694)) }, Fingerprint { range: Range(399, 509), fp: EncodedCountingMonoid(4, SumMonoid(1878)) }, Fingerprint { range: Range(509, 566), fp: EncodedCountingMonoid(3, SumMonoid(1603)) }, Fingerprint { range: Range(566, 702), fp: EncodedCountingMonoid(6, SumMonoid(3788)) }, Fingerprint { range: Range(702, 743), fp: EncodedCountingMonoid(6, SumMonoid(4334)) }, Fingerprint { range: Range(837, 933), fp: EncodedCountingMonoid(6, SumMonoid(5257)) }, Fingerprint { range: Range(933, 985), fp: EncodedCountingMonoid(6, SumMonoid(5685)) }], item_sets: [ItemSet { range: Range(743, 790), items: [754, 787], want_response: true }, ItemSet { range: Range(790, 837), items: [790], want_response: true }, ItemSet { range: Range(985, 998), items: [987, 997], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(243, 290), fp: EncodedCountingMonoid(3, SumMonoid(750)) }, Fingerprint { range: Range(399, 450), fp: EncodedCountingMonoid(3, SumMonoid(1240)) }, Fingerprint { range: Range(450, 509), fp: EncodedCountingMonoid(3, SumMonoid(1424)) }, Fingerprint { range: Range(566, 594), fp: EncodedCountingMonoid(3, SumMonoid(1725)) }, Fingerprint { range: Range(594, 702), fp: EncodedCountingMonoid(3, SumMonoid(1942)) }], item_sets: [ItemSet { range: Range(743, 790), items: [743, 745, 766, 781], want_response: false }, ItemSet { range: Range(790, 837), items: [790, 817, 828], want_response: false }, ItemSet { range: Range(985, 998), items: [985, 989, 993, 996], want_response: false }, ItemSet { range: Range(16, 57), items: [42, 43], want_response: true }, ItemSet { range: Range(57, 121), items: [81, 91], want_response: true }, ItemSet { range: Range(121, 145), items: [121], want_response: true }, ItemSet { range: Range(145, 200), items: [145], want_response: true }, ItemSet { range: Range(200, 234), items: [200, 219], want_response: true }, ItemSet { range: Range(234, 243), items: [234], want_response: true }, ItemSet { range: Range(290, 301), items: [290, 297], want_response: true }, ItemSet { range: Range(301, 324), items: [311, 319], want_response: true }, ItemSet { range: Range(324, 399), items: [324], want_response: true }, ItemSet { range: Range(509, 566), items: [565], want_response: true }, ItemSet { range: Range(702, 743), items: [709, 740], want_response: true }, ItemSet { range: Range(837, 883), items: [872, 876], want_response: true }, ItemSet { range: Range(883, 933), items: [883], want_response: true }, ItemSet { range: Range(933, 985), items: [938, 942], want_response: true }], wants: [754, 787, 987, 997], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(243, 281), fp: EncodedCountingMonoid(3, SumMonoid(769)) }], item_sets: [ItemSet { range: Range(16, 57), items: [16, 19, 44, 56], want_response: false }, ItemSet { range: Range(57, 121), items: [57, 100, 106], want_response: false }, ItemSet { range: Range(121, 145), items: [124], want_response: false }, ItemSet { range: Range(145, 200), items: [147, 150, 151, 163, 199], want_response: false }, ItemSet { range: Range(200, 234), items: [200, 202, 209, 228], want_response: false }, ItemSet { range: Range(234, 243), items: [239], want_response: false }, ItemSet { range: Range(290, 301), items: [300], want_response: false }, ItemSet { range: Range(301, 324), items: [301, 314], want_response: false }, ItemSet { range: Range(324, 399), items: [336, 360, 383], want_response: false }, ItemSet { range: Range(509, 566), items: [509, 536, 558], want_response: false }, ItemSet { range: Range(702, 743), items: [702, 707, 723, 728, 735, 739], want_response: false }, ItemSet { range: Range(837, 883), items: [837, 847, 852], want_response: false }, ItemSet { range: Range(883, 933), items: [892, 912, 917], want_response: false }, ItemSet { range: Range(933, 985), items: [933, 940, 945, 946, 958, 963], want_response: false }, ItemSet { range: Range(281, 290), items: [281, 284], want_response: true }, ItemSet { range: Range(399, 450), items: [], want_response: true }, ItemSet { range: Range(450, 475), items: [453, 454], want_response: true }, ItemSet { range: Range(475, 509), items: [475, 496], want_response: true }, ItemSet { range: Range(566, 594), items: [584, 585], want_response: true }, ItemSet { range: Range(594, 669), items: [619, 661], want_response: true }, ItemSet { range: Range(669, 702), items: [669, 670], want_response: true }], wants: [743, 745, 766, 781, 817, 828, 985, 989, 993, 996, 42, 43, 81, 91, 121, 145, 219, 234, 290, 297, 311, 319, 324, 565, 709, 740, 872, 876, 883, 938, 942], provide: [(754, true), (787, true), (987, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(281, 290), items: [], want_response: false }, ItemSet { range: Range(399, 450), items: [399, 406, 435], want_response: false }, ItemSet { range: Range(450, 475), items: [450, 467], want_response: false }, ItemSet { range: Range(475, 509), items: [507], want_response: false }, ItemSet { range: Range(566, 594), items: [566, 575, 584], want_response: false }, ItemSet { range: Range(594, 669), items: [594, 661], want_response: false }, ItemSet { range: Range(669, 702), items: [687], want_response: false }, ItemSet { range: Range(243, 255), items: [243, 252], want_response: true }, ItemSet { range: Range(255, 281), items: [255], want_response: true }], wants: [16, 19, 44, 56, 57, 100, 106, 124, 147, 150, 151, 163, 199, 202, 209, 228, 239, 300, 301, 314, 336, 360, 383, 509, 536, 558, 702, 707, 723, 728, 735, 739, 837, 847, 852, 892, 912, 917, 933, 940, 945, 946, 958, 963, 281, 284, 453, 454, 475, 496, 585, 619, 669, 670], provide: [(743, true), (745, true), (766, true), (781, true), (817, true), (828, true), (985, true), (989, true), (993, true), (996, true), (42, true), (43, true), (81, true), (91, true), (121, true), (145, true), (219, true), (234, true), (290, true), (297, true), (311, true), (319, true), (324, true), (565, true), (709, true), (740, true), (872, true), (876, true), (883, true), (938, true), (942, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(243, 255), items: [243], want_response: false }, ItemSet { range: Range(255, 281), items: [256, 270], want_response: false }], wants: [399, 406, 435, 450, 467, 507, 566, 575, 594, 687, 252, 255], provide: [(16, true), (19, true), (44, true), (56, true), (57, true), (100, true), (106, true), (124, true), (147, true), (150, true), (151, true), (163, true), (199, true), (202, true), (209, true), (228, true), (239, true), (300, true), (301, true), (314, true), (336, true), (360, true), (383, true), (509, true), (536, true), (558, true), (702, true), (707, true), (723, true), (728, true), (735, true), (739, true), (837, true), (847, true), (852, true), (892, true), (912, true), (917, true), (933, true), (940, true), (945, true), (946, true), (958, true), (963, true), (281, true), (284, true), (453, true), (454, true), (475, true), (496, true), (585, true), (619, true), (669, true), (670, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [256, 270], provide: [(399, true), (406, true), (435, true), (450, true), (467, true), (507, true), (566, true), (575, true), (594, true), (687, true), (252, true), (255, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(256, true), (270, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 19, 44, 56, 57, 100, 106, 124, 147, 150, 151, 163, 199, 200, 202, 209, 228, 239, 243, 256, 270, 281, 284, 300, 301, 314, 336, 360, 383, 453, 454, 475, 496, 509, 536, 558, 584, 585, 619, 661, 669, 670, 702, 707, 723, 728, 735, 739, 754, 787, 790, 837, 847, 852, 892, 912, 917, 933, 940, 945, 946, 958, 963, 987, 997} + [5, 743, 745, 766, 781, 817, 828, 985, 989, 993, 996, 42, 43, 81, 91, 121, 145, 219, 234, 290, 297, 311, 319, 324, 565, 709, 740, 872, 876, 883, 938, 942, 399, 406, 435, 450, 467, 507, 566, 575, 594, 687, 252, 255] [INFO] [stdout] b all: {5, 42, 43, 81, 91, 121, 145, 200, 219, 234, 243, 252, 255, 290, 297, 311, 319, 324, 399, 406, 435, 450, 467, 507, 565, 566, 575, 584, 594, 661, 687, 709, 740, 743, 745, 766, 781, 790, 817, 828, 872, 876, 883, 938, 942, 985, 989, 993, 996} + [754, 787, 987, 997, 16, 19, 44, 56, 57, 100, 106, 124, 147, 150, 151, 163, 199, 202, 209, 228, 239, 300, 301, 314, 336, 360, 383, 509, 536, 558, 702, 707, 723, 728, 735, 739, 837, 847, 852, 892, 912, 917, 933, 940, 945, 946, 958, 963, 281, 284, 453, 454, 475, 496, 585, 619, 669, 670, 256, 270] [INFO] [stdout] [INFO] [stdout] all vec: [5, 16, 19, 42, 43, 44, 56, 57, 81, 91, 100, 106, 121, 124, 145, 147, 150, 151, 163, 199, 200, 202, 209, 219, 228, 234, 239, 243, 252, 255, 256, 270, 281, 284, 290, 297, 300, 301, 311, 314, 319, 324, 336, 360, 383, 399, 406, 435, 450, 453, 454, 467, 475, 496, 507, 509, 536, 558, 565, 566, 575, 584, 585, 594, 619, 661, 669, 670, 687, 702, 707, 709, 723, 728, 735, 739, 740, 743, 745, 754, 766, 781, 787, 790, 817, 828, 837, 847, 852, 872, 876, 883, 892, 912, 917, 933, 938, 940, 942, 945, 946, 958, 963, 985, 987, 989, 993, 996, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 16, 19, 42, 43, 44, 56, 57, 81, 91, 100, 106, 121, 124, 145, 147, 150, 151, 163, 199, 200, 202, 209, 219, 228, 234, 239, 243, 252, 255, 256, 270, 281, 284, 290, 297, 300, 301, 311, 314, 319, 324, 336, 360, 383, 399, 406, 435, 450, 453, 454, 467, 475, 496, 507, 509, 536, 558, 565, 566, 575, 584, 585, 594, 619, 661, 669, 670, 687, 702, 707, 709, 723, 728, 735, 739, 740, 743, 745, 754, 766, 781, 787, 790, 817, 828, 837, 847, 852, 872, 876, 883, 892, 912, 917, 933, 938, 940, 942, 945, 946, 958, 963, 985, 987, 989, 993, 996, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 16, 19, 42, 43, 44, 56, 57, 81, 91, 100, 106, 121, 124, 145, 147, 150, 151, 163, 199, 200, 202, 209, 219, 228, 234, 239, 243, 252, 255, 256, 270, 281, 284, 290, 297, 300, 301, 311, 314, 319, 324, 336, 360, 383, 399, 406, 435, 450, 453, 454, 467, 475, 496, 507, 509, 536, 558, 565, 566, 575, 584, 585, 594, 619, 661, 669, 670, 687, 702, 707, 709, 723, 728, 735, 739, 740, 743, 745, 754, 766, 781, 787, 790, 817, 828, 837, 847, 852, 872, 876, 883, 892, 912, 917, 933, 938, 940, 942, 945, 946, 958, 963, 985, 987, 989, 993, 996, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {24, 40, 111, 116, 119, 146, 172, 176, 177, 195, 203, 227, 232, 240, 247, 248, 251, 278, 290, 291, 313, 363, 372, 424, 433, 434, 449, 457, 515, 518, 519, 520, 525, 529, 546, 663, 665, 669, 674, 705, 712, 728, 796, 817, 818, 823, 828, 865, 871, 874, 881, 900, 948, 976} [INFO] [stdout] b items: {56, 66, 80, 86, 128, 265, 299, 312, 382, 388, 421, 448, 505, 523, 530, 568, 587, 598, 683, 758, 797, 843, 914, 945, 994} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 977), fp: EncodedCountingMonoid(54, SumMonoid(25913)) }], item_sets: [ItemSet { range: Range(977, 24), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(24, 505), fp: EncodedCountingMonoid(12, SumMonoid(2931)) }, Fingerprint { range: Range(505, 977), fp: EncodedCountingMonoid(12, SumMonoid(8251)) }], item_sets: [ItemSet { range: Range(977, 24), items: [994], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 247), fp: EncodedCountingMonoid(14, SumMonoid(2178)) }, Fingerprint { range: Range(247, 505), fp: EncodedCountingMonoid(14, SumMonoid(4850)) }, Fingerprint { range: Range(505, 728), fp: EncodedCountingMonoid(13, SumMonoid(7760)) }, Fingerprint { range: Range(728, 977), fp: EncodedCountingMonoid(13, SumMonoid(11125)) }], item_sets: [], wants: [994], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(24, 86), fp: EncodedCountingMonoid(3, SumMonoid(202)) }, Fingerprint { range: Range(247, 388), fp: EncodedCountingMonoid(4, SumMonoid(1258)) }, Fingerprint { range: Range(388, 505), fp: EncodedCountingMonoid(3, SumMonoid(1257)) }, Fingerprint { range: Range(505, 587), fp: EncodedCountingMonoid(4, SumMonoid(2126)) }, Fingerprint { range: Range(587, 728), fp: EncodedCountingMonoid(3, SumMonoid(1868)) }, Fingerprint { range: Range(728, 914), fp: EncodedCountingMonoid(3, SumMonoid(2398)) }], item_sets: [ItemSet { range: Range(86, 247), items: [86, 128], want_response: true }, ItemSet { range: Range(914, 977), items: [914, 945], want_response: true }], wants: [], provide: [(994, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 291), fp: EncodedCountingMonoid(5, SumMonoid(1314)) }, Fingerprint { range: Range(291, 388), fp: EncodedCountingMonoid(4, SumMonoid(1339)) }, Fingerprint { range: Range(388, 449), fp: EncodedCountingMonoid(3, SumMonoid(1291)) }, Fingerprint { range: Range(505, 525), fp: EncodedCountingMonoid(4, SumMonoid(2072)) }, Fingerprint { range: Range(525, 587), fp: EncodedCountingMonoid(3, SumMonoid(1600)) }, Fingerprint { range: Range(587, 674), fp: EncodedCountingMonoid(3, SumMonoid(1997)) }, Fingerprint { range: Range(674, 728), fp: EncodedCountingMonoid(3, SumMonoid(2091)) }, Fingerprint { range: Range(728, 865), fp: EncodedCountingMonoid(6, SumMonoid(4810)) }, Fingerprint { range: Range(865, 914), fp: EncodedCountingMonoid(5, SumMonoid(4391)) }], item_sets: [ItemSet { range: Range(86, 247), items: [111, 116, 119, 146, 172, 176, 177, 195, 203, 227, 232, 240], want_response: false }, ItemSet { range: Range(914, 977), items: [948, 976], want_response: false }, ItemSet { range: Range(24, 86), items: [24, 40], want_response: true }, ItemSet { range: Range(449, 505), items: [449, 457], want_response: true }], wants: [86, 128, 914, 945], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(24, 86), items: [56, 66, 80], want_response: false }, ItemSet { range: Range(449, 505), items: [], want_response: false }, ItemSet { range: Range(247, 291), items: [265], want_response: true }, ItemSet { range: Range(291, 382), items: [299, 312], want_response: true }, ItemSet { range: Range(382, 388), items: [382], want_response: true }, ItemSet { range: Range(388, 448), items: [388, 421], want_response: true }, ItemSet { range: Range(448, 449), items: [448], want_response: true }, ItemSet { range: Range(505, 525), items: [505, 523], want_response: true }, ItemSet { range: Range(525, 587), items: [530, 568], want_response: true }, ItemSet { range: Range(587, 674), items: [587, 598], want_response: true }, ItemSet { range: Range(674, 728), items: [683], want_response: true }, ItemSet { range: Range(728, 843), items: [758, 797], want_response: true }, ItemSet { range: Range(843, 865), items: [843], want_response: true }, ItemSet { range: Range(865, 914), items: [], want_response: true }], wants: [111, 116, 119, 146, 172, 176, 177, 195, 203, 227, 232, 240, 948, 976, 24, 40, 449, 457], provide: [(86, true), (128, true), (914, true), (945, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 291), items: [247, 248, 251, 278, 290], want_response: false }, ItemSet { range: Range(291, 382), items: [291, 313, 363, 372], want_response: false }, ItemSet { range: Range(382, 388), items: [], want_response: false }, ItemSet { range: Range(388, 448), items: [424, 433, 434], want_response: false }, ItemSet { range: Range(448, 449), items: [], want_response: false }, ItemSet { range: Range(505, 525), items: [515, 518, 519, 520], want_response: false }, ItemSet { range: Range(525, 587), items: [525, 529, 546], want_response: false }, ItemSet { range: Range(587, 674), items: [663, 665, 669], want_response: false }, ItemSet { range: Range(674, 728), items: [674, 705, 712], want_response: false }, ItemSet { range: Range(728, 843), items: [728, 796, 817, 818, 823, 828], want_response: false }, ItemSet { range: Range(843, 865), items: [], want_response: false }, ItemSet { range: Range(865, 914), items: [865, 871, 874, 881, 900], want_response: false }], wants: [56, 66, 80, 265, 299, 312, 382, 388, 421, 448, 505, 523, 530, 568, 587, 598, 683, 758, 797, 843], provide: [(111, true), (116, true), (119, true), (146, true), (172, true), (176, true), (177, true), (195, true), (203, true), (227, true), (232, true), (240, true), (948, true), (976, true), (24, true), (40, true), (449, true), (457, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 248, 251, 278, 290, 291, 313, 363, 372, 424, 433, 434, 515, 518, 519, 520, 525, 529, 546, 663, 665, 669, 674, 705, 712, 728, 796, 817, 818, 823, 828, 865, 871, 874, 881, 900], provide: [(56, true), (66, true), (80, true), (265, true), (299, true), (312, true), (382, true), (388, true), (421, true), (448, true), (505, true), (523, true), (530, true), (568, true), (587, true), (598, true), (683, true), (758, true), (797, true), (843, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (248, true), (251, true), (278, true), (290, true), (291, true), (313, true), (363, true), (372, true), (424, true), (433, true), (434, true), (515, true), (518, true), (519, true), (520, true), (525, true), (529, true), (546, true), (663, true), (665, true), (669, true), (674, true), (705, true), (712, true), (728, true), (796, true), (817, true), (818, true), (823, true), (828, true), (865, true), (871, true), (874, true), (881, true), (900, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {24, 40, 111, 116, 119, 146, 172, 176, 177, 195, 203, 227, 232, 240, 247, 248, 251, 278, 290, 291, 313, 363, 372, 424, 433, 434, 449, 457, 515, 518, 519, 520, 525, 529, 546, 663, 665, 669, 674, 705, 712, 728, 796, 817, 818, 823, 828, 865, 871, 874, 881, 900, 948, 976} + [994, 86, 128, 914, 945, 56, 66, 80, 265, 299, 312, 382, 388, 421, 448, 505, 523, 530, 568, 587, 598, 683, 758, 797, 843] [INFO] [stdout] b all: {56, 66, 80, 86, 128, 265, 299, 312, 382, 388, 421, 448, 505, 523, 530, 568, 587, 598, 683, 758, 797, 843, 914, 945, 994} + [111, 116, 119, 146, 172, 176, 177, 195, 203, 227, 232, 240, 948, 976, 24, 40, 449, 457, 247, 248, 251, 278, 290, 291, 313, 363, 372, 424, 433, 434, 515, 518, 519, 520, 525, 529, 546, 663, 665, 669, 674, 705, 712, 728, 796, 817, 818, 823, 828, 865, 871, 874, 881, 900] [INFO] [stdout] [INFO] [stdout] all vec: [24, 40, 56, 66, 80, 86, 111, 116, 119, 128, 146, 172, 176, 177, 195, 203, 227, 232, 240, 247, 248, 251, 265, 278, 290, 291, 299, 312, 313, 363, 372, 382, 388, 421, 424, 433, 434, 448, 449, 457, 505, 515, 518, 519, 520, 523, 525, 529, 530, 546, 568, 587, 598, 663, 665, 669, 674, 683, 705, 712, 728, 758, 796, 797, 817, 818, 823, 828, 843, 865, 871, 874, 881, 900, 914, 945, 948, 976, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [24, 40, 56, 66, 80, 86, 111, 116, 119, 128, 146, 172, 176, 177, 195, 203, 227, 232, 240, 247, 248, 251, 265, 278, 290, 291, 299, 312, 313, 363, 372, 382, 388, 421, 424, 433, 434, 448, 449, 457, 505, 515, 518, 519, 520, 523, 525, 529, 530, 546, 568, 587, 598, 663, 665, 669, 674, 683, 705, 712, 728, 758, 796, 797, 817, 818, 823, 828, 843, 865, 871, 874, 881, 900, 914, 945, 948, 976, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [24, 40, 56, 66, 80, 86, 111, 116, 119, 128, 146, 172, 176, 177, 195, 203, 227, 232, 240, 247, 248, 251, 265, 278, 290, 291, 299, 312, 313, 363, 372, 382, 388, 421, 424, 433, 434, 448, 449, 457, 505, 515, 518, 519, 520, 523, 525, 529, 530, 546, 568, 587, 598, 663, 665, 669, 674, 683, 705, 712, 728, 758, 796, 797, 817, 818, 823, 828, 843, 865, 871, 874, 881, 900, 914, 945, 948, 976, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 395, 400, 415, 435, 497, 525, 529, 534, 568, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 835, 837, 854, 857, 868, 892, 934, 991} [INFO] [stdout] b items: {385, 414, 494, 576, 812, 817} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 992), fp: EncodedCountingMonoid(57, SumMonoid(27938)) }], item_sets: [ItemSet { range: Range(992, 12), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(12, 576), fp: EncodedCountingMonoid(3, SumMonoid(1293)) }, Fingerprint { range: Range(576, 992), fp: EncodedCountingMonoid(3, SumMonoid(2205)) }], item_sets: [ItemSet { range: Range(992, 12), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 291), fp: EncodedCountingMonoid(17, SumMonoid(2895)) }, Fingerprint { range: Range(291, 576), fp: EncodedCountingMonoid(16, SumMonoid(6721)) }, Fingerprint { range: Range(576, 766), fp: EncodedCountingMonoid(12, SumMonoid(8137)) }, Fingerprint { range: Range(766, 992), fp: EncodedCountingMonoid(12, SumMonoid(10185)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(12, 291), items: [], want_response: true }, ItemSet { range: Range(291, 494), items: [385, 414], want_response: true }, ItemSet { range: Range(494, 576), items: [494], want_response: true }, ItemSet { range: Range(576, 766), items: [576], want_response: true }, ItemSet { range: Range(766, 992), items: [812, 817], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(12, 291), items: [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276], want_response: false }, ItemSet { range: Range(291, 494), items: [291, 329, 341, 355, 357, 374, 376, 395, 400, 415, 435], want_response: false }, ItemSet { range: Range(494, 576), items: [497, 525, 529, 534, 568], want_response: false }, ItemSet { range: Range(576, 766), items: [578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764], want_response: false }, ItemSet { range: Range(766, 992), items: [766, 779, 780, 792, 835, 837, 854, 857, 868, 892, 934, 991], want_response: false }], wants: [385, 414, 494, 576, 812, 817], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 395, 400, 415, 435, 497, 525, 529, 534, 568, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 835, 837, 854, 857, 868, 892, 934, 991], provide: [(385, true), (414, true), (494, true), (576, true), (812, true), (817, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(12, true), (41, true), (74, true), (87, true), (95, true), (156, true), (161, true), (163, true), (169, true), (176, true), (223, true), (224, true), (240, true), (259, true), (265, true), (274, true), (276, true), (291, true), (329, true), (341, true), (355, true), (357, true), (374, true), (376, true), (395, true), (400, true), (415, true), (435, true), (497, true), (525, true), (529, true), (534, true), (568, true), (578, true), (602, true), (618, true), (650, true), (658, true), (672, true), (683, true), (719, true), (725, true), (730, true), (738, true), (764, true), (766, true), (779, true), (780, true), (792, true), (835, true), (837, true), (854, true), (857, true), (868, true), (892, true), (934, true), (991, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 395, 400, 415, 435, 497, 525, 529, 534, 568, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 835, 837, 854, 857, 868, 892, 934, 991} + [385, 414, 494, 576, 812, 817] [INFO] [stdout] b all: {385, 414, 494, 576, 812, 817} + [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 395, 400, 415, 435, 497, 525, 529, 534, 568, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 835, 837, 854, 857, 868, 892, 934, 991] [INFO] [stdout] [INFO] [stdout] all vec: [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 385, 395, 400, 414, 415, 435, 494, 497, 525, 529, 534, 568, 576, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 812, 817, 835, 837, 854, 857, 868, 892, 934, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 385, 395, 400, 414, 415, 435, 494, 497, 525, 529, 534, 568, 576, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 812, 817, 835, 837, 854, 857, 868, 892, 934, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [12, 41, 74, 87, 95, 156, 161, 163, 169, 176, 223, 224, 240, 259, 265, 274, 276, 291, 329, 341, 355, 357, 374, 376, 385, 395, 400, 414, 415, 435, 494, 497, 525, 529, 534, 568, 576, 578, 602, 618, 650, 658, 672, 683, 719, 725, 730, 738, 764, 766, 779, 780, 792, 812, 817, 835, 837, 854, 857, 868, 892, 934, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 211, 296, 306, 357, 454, 477, 513, 530, 608, 624, 634, 649, 686, 706, 713, 763, 788, 835, 871, 896, 949, 992, 993} [INFO] [stdout] b items: {16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 211, 240, 318, 326, 342, 367, 394, 401, 420, 485, 504, 513, 516, 533, 573, 581, 592, 641, 650, 653, 660, 687, 688, 706, 720, 748, 807, 811, 847, 868, 872, 897, 900, 911, 912, 930, 947, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 994), fp: EncodedCountingMonoid(24, SumMonoid(14857)) }], item_sets: [ItemSet { range: Range(994, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 513), fp: EncodedCountingMonoid(27, SumMonoid(5641)) }, Fingerprint { range: Range(513, 994), fp: EncodedCountingMonoid(26, SumMonoid(19163)) }], item_sets: [ItemSet { range: Range(994, 6), items: [998], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 357), fp: EncodedCountingMonoid(4, SumMonoid(819)) }, Fingerprint { range: Range(357, 513), fp: EncodedCountingMonoid(3, SumMonoid(1288)) }, Fingerprint { range: Range(513, 763), fp: EncodedCountingMonoid(9, SumMonoid(5663)) }, Fingerprint { range: Range(763, 994), fp: EncodedCountingMonoid(8, SumMonoid(7087)) }], item_sets: [], wants: [998], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 138), fp: EncodedCountingMonoid(11, SumMonoid(803)) }, Fingerprint { range: Range(138, 357), fp: EncodedCountingMonoid(10, SumMonoid(2267)) }, Fingerprint { range: Range(357, 420), fp: EncodedCountingMonoid(3, SumMonoid(1162)) }, Fingerprint { range: Range(420, 513), fp: EncodedCountingMonoid(3, SumMonoid(1409)) }, Fingerprint { range: Range(513, 653), fp: EncodedCountingMonoid(8, SumMonoid(4599)) }, Fingerprint { range: Range(653, 763), fp: EncodedCountingMonoid(7, SumMonoid(4862)) }, Fingerprint { range: Range(763, 900), fp: EncodedCountingMonoid(6, SumMonoid(5102)) }, Fingerprint { range: Range(900, 994), fp: EncodedCountingMonoid(5, SumMonoid(4600)) }], item_sets: [], wants: [], provide: [(998, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(513, 624), fp: EncodedCountingMonoid(3, SumMonoid(1651)) }, Fingerprint { range: Range(624, 653), fp: EncodedCountingMonoid(3, SumMonoid(1907)) }, Fingerprint { range: Range(763, 871), fp: EncodedCountingMonoid(3, SumMonoid(2386)) }], item_sets: [ItemSet { range: Range(6, 138), items: [6], want_response: true }, ItemSet { range: Range(138, 306), items: [211, 296], want_response: true }, ItemSet { range: Range(306, 357), items: [306], want_response: true }, ItemSet { range: Range(357, 420), items: [357], want_response: true }, ItemSet { range: Range(420, 513), items: [454, 477], want_response: true }, ItemSet { range: Range(653, 713), items: [686, 706], want_response: true }, ItemSet { range: Range(713, 763), items: [713], want_response: true }, ItemSet { range: Range(871, 900), items: [871, 896], want_response: true }, ItemSet { range: Range(900, 993), items: [949, 992], want_response: true }, ItemSet { range: Range(993, 994), items: [993], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(513, 573), fp: EncodedCountingMonoid(3, SumMonoid(1562)) }, Fingerprint { range: Range(573, 624), fp: EncodedCountingMonoid(3, SumMonoid(1746)) }], item_sets: [ItemSet { range: Range(6, 138), items: [16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134], want_response: false }, ItemSet { range: Range(138, 306), items: [138, 167, 171, 172, 182, 211, 240], want_response: false }, ItemSet { range: Range(306, 357), items: [318, 326, 342], want_response: false }, ItemSet { range: Range(357, 420), items: [367, 394, 401], want_response: false }, ItemSet { range: Range(420, 513), items: [420, 485, 504], want_response: false }, ItemSet { range: Range(653, 713), items: [653, 660, 687, 688, 706], want_response: false }, ItemSet { range: Range(713, 763), items: [720, 748], want_response: false }, ItemSet { range: Range(871, 900), items: [872, 897], want_response: false }, ItemSet { range: Range(900, 993), items: [900, 911, 912, 930, 947], want_response: false }, ItemSet { range: Range(993, 994), items: [], want_response: false }, ItemSet { range: Range(624, 653), items: [641, 650], want_response: true }, ItemSet { range: Range(763, 847), items: [807, 811], want_response: true }, ItemSet { range: Range(847, 871), items: [847, 868], want_response: true }], wants: [6, 296, 306, 357, 454, 477, 686, 713, 871, 896, 949, 992, 993], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(624, 653), items: [624, 634, 649], want_response: false }, ItemSet { range: Range(763, 847), items: [763, 788, 835], want_response: false }, ItemSet { range: Range(847, 871), items: [], want_response: false }, ItemSet { range: Range(513, 573), items: [513, 530], want_response: true }, ItemSet { range: Range(573, 624), items: [608], want_response: true }], wants: [16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 240, 318, 326, 342, 367, 394, 401, 420, 485, 504, 653, 660, 687, 688, 720, 748, 872, 897, 900, 911, 912, 930, 947, 641, 650, 807, 811, 847, 868], provide: [(6, true), (296, true), (306, true), (357, true), (454, true), (477, true), (686, true), (713, true), (871, true), (896, true), (949, true), (992, true), (993, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(513, 573), items: [513, 516, 533], want_response: false }, ItemSet { range: Range(573, 624), items: [573, 581, 592], want_response: false }], wants: [624, 634, 649, 763, 788, 835, 530, 608], provide: [(16, true), (22, true), (36, true), (43, true), (61, true), (70, true), (71, true), (98, true), (122, true), (130, true), (134, true), (138, true), (167, true), (171, true), (172, true), (182, true), (240, true), (318, true), (326, true), (342, true), (367, true), (394, true), (401, true), (420, true), (485, true), (504, true), (653, true), (660, true), (687, true), (688, true), (720, true), (748, true), (872, true), (897, true), (900, true), (911, true), (912, true), (930, true), (947, true), (641, true), (650, true), (807, true), (811, true), (847, true), (868, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [516, 533, 573, 581, 592], provide: [(624, true), (634, true), (649, true), (763, true), (788, true), (835, true), (530, true), (608, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(516, true), (533, true), (573, true), (581, true), (592, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 211, 296, 306, 357, 454, 477, 513, 530, 608, 624, 634, 649, 686, 706, 713, 763, 788, 835, 871, 896, 949, 992, 993} + [998, 16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 240, 318, 326, 342, 367, 394, 401, 420, 485, 504, 653, 660, 687, 688, 720, 748, 872, 897, 900, 911, 912, 930, 947, 641, 650, 807, 811, 847, 868, 516, 533, 573, 581, 592] [INFO] [stdout] b all: {16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 211, 240, 318, 326, 342, 367, 394, 401, 420, 485, 504, 513, 516, 533, 573, 581, 592, 641, 650, 653, 660, 687, 688, 706, 720, 748, 807, 811, 847, 868, 872, 897, 900, 911, 912, 930, 947, 998} + [6, 296, 306, 357, 454, 477, 686, 713, 871, 896, 949, 992, 993, 624, 634, 649, 763, 788, 835, 530, 608] [INFO] [stdout] [INFO] [stdout] all vec: [6, 16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 211, 240, 296, 306, 318, 326, 342, 357, 367, 394, 401, 420, 454, 477, 485, 504, 513, 516, 530, 533, 573, 581, 592, 608, 624, 634, 641, 649, 650, 653, 660, 686, 687, 688, 706, 713, 720, 748, 763, 788, 807, 811, 835, 847, 868, 871, 872, 896, 897, 900, 911, 912, 930, 947, 949, 992, 993, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 211, 240, 296, 306, 318, 326, 342, 357, 367, 394, 401, 420, 454, 477, 485, 504, 513, 516, 530, 533, 573, 581, 592, 608, 624, 634, 641, 649, 650, 653, 660, 686, 687, 688, 706, 713, 720, 748, 763, 788, 807, 811, 835, 847, 868, 871, 872, 896, 897, 900, 911, 912, 930, 947, 949, 992, 993, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 16, 22, 36, 43, 61, 70, 71, 98, 122, 130, 134, 138, 167, 171, 172, 182, 211, 240, 296, 306, 318, 326, 342, 357, 367, 394, 401, 420, 454, 477, 485, 504, 513, 516, 530, 533, 573, 581, 592, 608, 624, 634, 641, 649, 650, 653, 660, 686, 687, 688, 706, 713, 720, 748, 763, 788, 807, 811, 835, 847, 868, 871, 872, 896, 897, 900, 911, 912, 930, 947, 949, 992, 993, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {8, 12, 19, 24, 64, 66, 70, 84, 91, 96, 99, 104, 120, 123, 156, 158, 162, 215, 239, 246, 267, 271, 306, 309, 325, 331, 359, 370, 383, 387, 389, 412, 414, 416, 458, 476, 477, 482, 498, 519, 521, 524, 531, 539, 541, 563, 585, 590, 596, 609, 614, 616, 635, 636, 653, 654, 655, 708, 715, 717, 721, 725, 726, 731, 734, 753, 763, 767, 778, 784, 822, 827, 833, 836, 864, 867, 870, 881, 883, 894, 907, 933, 934, 941, 948, 952, 970} [INFO] [stdout] b items: {5, 7, 16, 71, 84, 94, 100, 114, 129, 142, 143, 144, 149, 153, 163, 175, 195, 198, 202, 219, 234, 246, 264, 272, 287, 315, 339, 352, 356, 367, 374, 378, 385, 391, 397, 412, 447, 474, 478, 492, 499, 505, 512, 514, 516, 524, 528, 545, 552, 560, 566, 581, 582, 605, 606, 619, 625, 639, 655, 659, 665, 675, 676, 681, 735, 746, 758, 769, 776, 788, 808, 809, 810, 811, 832, 844, 848, 862, 871, 901, 919, 941, 948, 953, 954, 968, 974} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 971), fp: EncodedCountingMonoid(87, SumMonoid(44851)) }], item_sets: [ItemSet { range: Range(971, 8), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 516), fp: EncodedCountingMonoid(42, SumMonoid(11781)) }, Fingerprint { range: Range(516, 971), fp: EncodedCountingMonoid(42, SumMonoid(30710)) }], item_sets: [ItemSet { range: Range(971, 8), items: [974, 5, 7], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 267), fp: EncodedCountingMonoid(20, SumMonoid(2156)) }, Fingerprint { range: Range(267, 516), fp: EncodedCountingMonoid(19, SumMonoid(7330)) }, Fingerprint { range: Range(516, 731), fp: EncodedCountingMonoid(24, SumMonoid(14893)) }, Fingerprint { range: Range(731, 971), fp: EncodedCountingMonoid(24, SumMonoid(20472)) }], item_sets: [], wants: [974, 5, 7], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(8, 153), fp: EncodedCountingMonoid(11, SumMonoid(1186)) }, Fingerprint { range: Range(153, 267), fp: EncodedCountingMonoid(10, SumMonoid(2049)) }, Fingerprint { range: Range(267, 397), fp: EncodedCountingMonoid(11, SumMonoid(3816)) }, Fingerprint { range: Range(397, 516), fp: EncodedCountingMonoid(10, SumMonoid(4730)) }, Fingerprint { range: Range(516, 606), fp: EncodedCountingMonoid(10, SumMonoid(5559)) }, Fingerprint { range: Range(606, 731), fp: EncodedCountingMonoid(10, SumMonoid(6500)) }, Fingerprint { range: Range(731, 844), fp: EncodedCountingMonoid(11, SumMonoid(8642)) }, Fingerprint { range: Range(844, 971), fp: EncodedCountingMonoid(11, SumMonoid(10009)) }], item_sets: [], wants: [], provide: [(974, true), (5, true), (7, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(8, 84), fp: EncodedCountingMonoid(7, SumMonoid(263)) }, Fingerprint { range: Range(84, 153), fp: EncodedCountingMonoid(7, SumMonoid(717)) }, Fingerprint { range: Range(153, 215), fp: EncodedCountingMonoid(3, SumMonoid(476)) }, Fingerprint { range: Range(215, 267), fp: EncodedCountingMonoid(3, SumMonoid(700)) }, Fingerprint { range: Range(267, 359), fp: EncodedCountingMonoid(6, SumMonoid(1809)) }, Fingerprint { range: Range(359, 397), fp: EncodedCountingMonoid(5, SumMonoid(1888)) }, Fingerprint { range: Range(397, 476), fp: EncodedCountingMonoid(4, SumMonoid(1700)) }, Fingerprint { range: Range(476, 516), fp: EncodedCountingMonoid(4, SumMonoid(1933)) }, Fingerprint { range: Range(516, 541), fp: EncodedCountingMonoid(5, SumMonoid(2634)) }, Fingerprint { range: Range(541, 606), fp: EncodedCountingMonoid(5, SumMonoid(2875)) }, Fingerprint { range: Range(606, 655), fp: EncodedCountingMonoid(7, SumMonoid(4417)) }, Fingerprint { range: Range(655, 731), fp: EncodedCountingMonoid(7, SumMonoid(4967)) }, Fingerprint { range: Range(731, 784), fp: EncodedCountingMonoid(6, SumMonoid(4526)) }, Fingerprint { range: Range(784, 844), fp: EncodedCountingMonoid(5, SumMonoid(4102)) }, Fingerprint { range: Range(844, 933), fp: EncodedCountingMonoid(7, SumMonoid(6166)) }, Fingerprint { range: Range(933, 971), fp: EncodedCountingMonoid(6, SumMonoid(5678)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(84, 142), fp: EncodedCountingMonoid(5, SumMonoid(521)) }, Fingerprint { range: Range(142, 153), fp: EncodedCountingMonoid(4, SumMonoid(578)) }, Fingerprint { range: Range(153, 195), fp: EncodedCountingMonoid(3, SumMonoid(491)) }, Fingerprint { range: Range(195, 215), fp: EncodedCountingMonoid(3, SumMonoid(595)) }, Fingerprint { range: Range(267, 339), fp: EncodedCountingMonoid(3, SumMonoid(874)) }, Fingerprint { range: Range(339, 359), fp: EncodedCountingMonoid(3, SumMonoid(1047)) }, Fingerprint { range: Range(359, 385), fp: EncodedCountingMonoid(3, SumMonoid(1119)) }, Fingerprint { range: Range(476, 505), fp: EncodedCountingMonoid(3, SumMonoid(1469)) }, Fingerprint { range: Range(505, 516), fp: EncodedCountingMonoid(3, SumMonoid(1531)) }, Fingerprint { range: Range(541, 581), fp: EncodedCountingMonoid(4, SumMonoid(2223)) }, Fingerprint { range: Range(581, 606), fp: EncodedCountingMonoid(3, SumMonoid(1768)) }, Fingerprint { range: Range(655, 675), fp: EncodedCountingMonoid(3, SumMonoid(1979)) }, Fingerprint { range: Range(675, 731), fp: EncodedCountingMonoid(3, SumMonoid(2032)) }, Fingerprint { range: Range(731, 769), fp: EncodedCountingMonoid(3, SumMonoid(2239)) }, Fingerprint { range: Range(784, 810), fp: EncodedCountingMonoid(3, SumMonoid(2405)) }, Fingerprint { range: Range(810, 844), fp: EncodedCountingMonoid(3, SumMonoid(2453)) }, Fingerprint { range: Range(844, 871), fp: EncodedCountingMonoid(3, SumMonoid(2554)) }, Fingerprint { range: Range(871, 933), fp: EncodedCountingMonoid(3, SumMonoid(2691)) }, Fingerprint { range: Range(933, 954), fp: EncodedCountingMonoid(3, SumMonoid(2842)) }], item_sets: [ItemSet { range: Range(8, 84), items: [16, 71], want_response: true }, ItemSet { range: Range(215, 246), items: [219, 234], want_response: true }, ItemSet { range: Range(246, 267), items: [246, 264], want_response: true }, ItemSet { range: Range(385, 397), items: [385, 391], want_response: true }, ItemSet { range: Range(397, 447), items: [397, 412], want_response: true }, ItemSet { range: Range(447, 476), items: [447, 474], want_response: true }, ItemSet { range: Range(516, 528), items: [516, 524], want_response: true }, ItemSet { range: Range(528, 541), items: [528], want_response: true }, ItemSet { range: Range(606, 625), items: [606, 619], want_response: true }, ItemSet { range: Range(625, 655), items: [625, 639], want_response: true }, ItemSet { range: Range(769, 784), items: [769, 776], want_response: true }, ItemSet { range: Range(954, 971), items: [954, 968], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(84, 104), fp: EncodedCountingMonoid(4, SumMonoid(370)) }, Fingerprint { range: Range(104, 142), fp: EncodedCountingMonoid(3, SumMonoid(347)) }, Fingerprint { range: Range(267, 309), fp: EncodedCountingMonoid(3, SumMonoid(844)) }, Fingerprint { range: Range(309, 339), fp: EncodedCountingMonoid(3, SumMonoid(965)) }, Fingerprint { range: Range(675, 721), fp: EncodedCountingMonoid(3, SumMonoid(2140)) }, Fingerprint { range: Range(721, 731), fp: EncodedCountingMonoid(3, SumMonoid(2172)) }, Fingerprint { range: Range(731, 763), fp: EncodedCountingMonoid(3, SumMonoid(2218)) }, Fingerprint { range: Range(933, 948), fp: EncodedCountingMonoid(3, SumMonoid(2808)) }], item_sets: [ItemSet { range: Range(8, 84), items: [8, 12, 19, 24, 64, 66, 70], want_response: false }, ItemSet { range: Range(215, 246), items: [215, 239], want_response: false }, ItemSet { range: Range(246, 267), items: [246], want_response: false }, ItemSet { range: Range(385, 397), items: [387, 389], want_response: false }, ItemSet { range: Range(397, 447), items: [412, 414, 416], want_response: false }, ItemSet { range: Range(447, 476), items: [458], want_response: false }, ItemSet { range: Range(516, 528), items: [519, 521, 524], want_response: false }, ItemSet { range: Range(528, 541), items: [531, 539], want_response: false }, ItemSet { range: Range(606, 625), items: [609, 614, 616], want_response: false }, ItemSet { range: Range(625, 655), items: [635, 636, 653, 654], want_response: false }, ItemSet { range: Range(769, 784), items: [778], want_response: false }, ItemSet { range: Range(954, 971), items: [970], want_response: false }, ItemSet { range: Range(142, 153), items: [], want_response: true }, ItemSet { range: Range(153, 162), items: [156, 158], want_response: true }, ItemSet { range: Range(162, 195), items: [162], want_response: true }, ItemSet { range: Range(195, 215), items: [], want_response: true }, ItemSet { range: Range(339, 359), items: [], want_response: true }, ItemSet { range: Range(359, 383), items: [359, 370], want_response: true }, ItemSet { range: Range(383, 385), items: [383], want_response: true }, ItemSet { range: Range(476, 482), items: [476, 477], want_response: true }, ItemSet { range: Range(482, 505), items: [482, 498], want_response: true }, ItemSet { range: Range(505, 516), items: [], want_response: true }, ItemSet { range: Range(541, 581), items: [541, 563], want_response: true }, ItemSet { range: Range(581, 596), items: [585, 590], want_response: true }, ItemSet { range: Range(596, 606), items: [596], want_response: true }, ItemSet { range: Range(655, 675), items: [655], want_response: true }, ItemSet { range: Range(763, 769), items: [763, 767], want_response: true }, ItemSet { range: Range(784, 810), items: [784], want_response: true }, ItemSet { range: Range(810, 833), items: [822, 827], want_response: true }, ItemSet { range: Range(833, 844), items: [833, 836], want_response: true }, ItemSet { range: Range(844, 870), items: [864, 867], want_response: true }, ItemSet { range: Range(870, 871), items: [870], want_response: true }, ItemSet { range: Range(871, 894), items: [881, 883], want_response: true }, ItemSet { range: Range(894, 933), items: [894, 907], want_response: true }, ItemSet { range: Range(948, 954), items: [948, 952], want_response: true }], wants: [16, 71, 219, 234, 264, 385, 391, 397, 447, 474, 516, 528, 606, 619, 625, 639, 769, 776, 954, 968], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(142, 153), items: [142, 143, 144, 149], want_response: false }, ItemSet { range: Range(153, 162), items: [153], want_response: false }, ItemSet { range: Range(162, 195), items: [163, 175], want_response: false }, ItemSet { range: Range(195, 215), items: [195, 198, 202], want_response: false }, ItemSet { range: Range(339, 359), items: [339, 352, 356], want_response: false }, ItemSet { range: Range(359, 383), items: [367, 374, 378], want_response: false }, ItemSet { range: Range(383, 385), items: [], want_response: false }, ItemSet { range: Range(476, 482), items: [478], want_response: false }, ItemSet { range: Range(482, 505), items: [492, 499], want_response: false }, ItemSet { range: Range(505, 516), items: [505, 512, 514], want_response: false }, ItemSet { range: Range(541, 581), items: [545, 552, 560, 566], want_response: false }, ItemSet { range: Range(581, 596), items: [581, 582], want_response: false }, ItemSet { range: Range(596, 606), items: [605], want_response: false }, ItemSet { range: Range(655, 675), items: [655, 659, 665], want_response: false }, ItemSet { range: Range(763, 769), items: [], want_response: false }, ItemSet { range: Range(784, 810), items: [788, 808, 809], want_response: false }, ItemSet { range: Range(810, 833), items: [810, 811, 832], want_response: false }, ItemSet { range: Range(833, 844), items: [], want_response: false }, ItemSet { range: Range(844, 870), items: [844, 848, 862], want_response: false }, ItemSet { range: Range(870, 871), items: [], want_response: false }, ItemSet { range: Range(871, 894), items: [871], want_response: false }, ItemSet { range: Range(894, 933), items: [901, 919], want_response: false }, ItemSet { range: Range(948, 954), items: [948, 953], want_response: false }, ItemSet { range: Range(84, 100), items: [84, 94], want_response: true }, ItemSet { range: Range(100, 104), items: [100], want_response: true }, ItemSet { range: Range(104, 142), items: [114, 129], want_response: true }, ItemSet { range: Range(267, 309), items: [272, 287], want_response: true }, ItemSet { range: Range(309, 339), items: [315], want_response: true }, ItemSet { range: Range(675, 681), items: [675, 676], want_response: true }, ItemSet { range: Range(681, 721), items: [681], want_response: true }, ItemSet { range: Range(721, 731), items: [], want_response: true }, ItemSet { range: Range(731, 758), items: [735, 746], want_response: true }, ItemSet { range: Range(758, 763), items: [758], want_response: true }, ItemSet { range: Range(933, 948), items: [941], want_response: true }], wants: [8, 12, 19, 24, 64, 66, 70, 215, 239, 387, 389, 414, 416, 458, 519, 521, 531, 539, 609, 614, 616, 635, 636, 653, 654, 778, 970, 156, 158, 162, 359, 370, 383, 476, 477, 482, 498, 541, 563, 585, 590, 596, 763, 767, 784, 822, 827, 833, 836, 864, 867, 870, 881, 883, 894, 907, 952], provide: [(16, true), (71, true), (219, true), (234, true), (264, true), (385, true), (391, true), (397, true), (447, true), (474, true), (516, true), (528, true), (606, true), (619, true), (625, true), (639, true), (769, true), (776, true), (954, true), (968, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(84, 100), items: [84, 91, 96, 99], want_response: false }, ItemSet { range: Range(100, 104), items: [], want_response: false }, ItemSet { range: Range(104, 142), items: [104, 120, 123], want_response: false }, ItemSet { range: Range(267, 309), items: [267, 271, 306], want_response: false }, ItemSet { range: Range(309, 339), items: [309, 325, 331], want_response: false }, ItemSet { range: Range(675, 681), items: [], want_response: false }, ItemSet { range: Range(681, 721), items: [708, 715, 717], want_response: false }, ItemSet { range: Range(721, 731), items: [721, 725, 726], want_response: false }, ItemSet { range: Range(731, 758), items: [731, 734, 753], want_response: false }, ItemSet { range: Range(758, 763), items: [], want_response: false }, ItemSet { range: Range(933, 948), items: [933, 934, 941], want_response: false }], wants: [142, 143, 144, 149, 153, 163, 175, 195, 198, 202, 339, 352, 356, 367, 374, 378, 478, 492, 499, 505, 512, 514, 545, 552, 560, 566, 581, 582, 605, 659, 665, 788, 808, 809, 810, 811, 832, 844, 848, 862, 871, 901, 919, 953, 94, 100, 114, 129, 272, 287, 315, 675, 676, 681, 735, 746, 758], provide: [(8, true), (12, true), (19, true), (24, true), (64, true), (66, true), (70, true), (215, true), (239, true), (387, true), (389, true), (414, true), (416, true), (458, true), (519, true), (521, true), (531, true), (539, true), (609, true), (614, true), (616, true), (635, true), (636, true), (653, true), (654, true), (778, true), (970, true), (156, true), (158, true), (162, true), (359, true), (370, true), (383, true), (476, true), (477, true), (482, true), (498, true), (541, true), (563, true), (585, true), (590, true), (596, true), (763, true), (767, true), (784, true), (822, true), (827, true), (833, true), (836, true), (864, true), (867, true), (870, true), (881, true), (883, true), (894, true), (907, true), (952, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [91, 96, 99, 104, 120, 123, 267, 271, 306, 309, 325, 331, 708, 715, 717, 721, 725, 726, 731, 734, 753, 933, 934], provide: [(142, true), (143, true), (144, true), (149, true), (153, true), (163, true), (175, true), (195, true), (198, true), (202, true), (339, true), (352, true), (356, true), (367, true), (374, true), (378, true), (478, true), (492, true), (499, true), (505, true), (512, true), (514, true), (545, true), (552, true), (560, true), (566, true), (581, true), (582, true), (605, true), (659, true), (665, true), (788, true), (808, true), (809, true), (810, true), (811, true), (832, true), (844, true), (848, true), (862, true), (871, true), (901, true), (919, true), (953, true), (94, true), (100, true), (114, true), (129, true), (272, true), (287, true), (315, true), (675, true), (676, true), (681, true), (735, true), (746, true), (758, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(91, true), (96, true), (99, true), (104, true), (120, true), (123, true), (267, true), (271, true), (306, true), (309, true), (325, true), (331, true), (708, true), (715, true), (717, true), (721, true), (725, true), (726, true), (731, true), (734, true), (753, true), (933, true), (934, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {8, 12, 19, 24, 64, 66, 70, 84, 91, 96, 99, 104, 120, 123, 156, 158, 162, 215, 239, 246, 267, 271, 306, 309, 325, 331, 359, 370, 383, 387, 389, 412, 414, 416, 458, 476, 477, 482, 498, 519, 521, 524, 531, 539, 541, 563, 585, 590, 596, 609, 614, 616, 635, 636, 653, 654, 655, 708, 715, 717, 721, 725, 726, 731, 734, 753, 763, 767, 778, 784, 822, 827, 833, 836, 864, 867, 870, 881, 883, 894, 907, 933, 934, 941, 948, 952, 970} + [974, 5, 7, 16, 71, 219, 234, 264, 385, 391, 397, 447, 474, 516, 528, 606, 619, 625, 639, 769, 776, 954, 968, 142, 143, 144, 149, 153, 163, 175, 195, 198, 202, 339, 352, 356, 367, 374, 378, 478, 492, 499, 505, 512, 514, 545, 552, 560, 566, 581, 582, 605, 659, 665, 788, 808, 809, 810, 811, 832, 844, 848, 862, 871, 901, 919, 953, 94, 100, 114, 129, 272, 287, 315, 675, 676, 681, 735, 746, 758] [INFO] [stdout] b all: {5, 7, 16, 71, 84, 94, 100, 114, 129, 142, 143, 144, 149, 153, 163, 175, 195, 198, 202, 219, 234, 246, 264, 272, 287, 315, 339, 352, 356, 367, 374, 378, 385, 391, 397, 412, 447, 474, 478, 492, 499, 505, 512, 514, 516, 524, 528, 545, 552, 560, 566, 581, 582, 605, 606, 619, 625, 639, 655, 659, 665, 675, 676, 681, 735, 746, 758, 769, 776, 788, 808, 809, 810, 811, 832, 844, 848, 862, 871, 901, 919, 941, 948, 953, 954, 968, 974} + [8, 12, 19, 24, 64, 66, 70, 215, 239, 387, 389, 414, 416, 458, 519, 521, 531, 539, 609, 614, 616, 635, 636, 653, 654, 778, 970, 156, 158, 162, 359, 370, 383, 476, 477, 482, 498, 541, 563, 585, 590, 596, 763, 767, 784, 822, 827, 833, 836, 864, 867, 870, 881, 883, 894, 907, 952, 91, 96, 99, 104, 120, 123, 267, 271, 306, 309, 325, 331, 708, 715, 717, 721, 725, 726, 731, 734, 753, 933, 934] [INFO] [stdout] [INFO] [stdout] all vec: [5, 7, 8, 12, 16, 19, 24, 64, 66, 70, 71, 84, 91, 94, 96, 99, 100, 104, 114, 120, 123, 129, 142, 143, 144, 149, 153, 156, 158, 162, 163, 175, 195, 198, 202, 215, 219, 234, 239, 246, 264, 267, 271, 272, 287, 306, 309, 315, 325, 331, 339, 352, 356, 359, 367, 370, 374, 378, 383, 385, 387, 389, 391, 397, 412, 414, 416, 447, 458, 474, 476, 477, 478, 482, 492, 498, 499, 505, 512, 514, 516, 519, 521, 524, 528, 531, 539, 541, 545, 552, 560, 563, 566, 581, 582, 585, 590, 596, 605, 606, 609, 614, 616, 619, 625, 635, 636, 639, 653, 654, 655, 659, 665, 675, 676, 681, 708, 715, 717, 721, 725, 726, 731, 734, 735, 746, 753, 758, 763, 767, 769, 776, 778, 784, 788, 808, 809, 810, 811, 822, 827, 832, 833, 836, 844, 848, 862, 864, 867, 870, 871, 881, 883, 894, 901, 907, 919, 933, 934, 941, 948, 952, 953, 954, 968, 970, 974] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 7, 8, 12, 16, 19, 24, 64, 66, 70, 71, 84, 91, 94, 96, 99, 100, 104, 114, 120, 123, 129, 142, 143, 144, 149, 153, 156, 158, 162, 163, 175, 195, 198, 202, 215, 219, 234, 239, 246, 264, 267, 271, 272, 287, 306, 309, 315, 325, 331, 339, 352, 356, 359, 367, 370, 374, 378, 383, 385, 387, 389, 391, 397, 412, 414, 416, 447, 458, 474, 476, 477, 478, 482, 492, 498, 499, 505, 512, 514, 516, 519, 521, 524, 528, 531, 539, 541, 545, 552, 560, 563, 566, 581, 582, 585, 590, 596, 605, 606, 609, 614, 616, 619, 625, 635, 636, 639, 653, 654, 655, 659, 665, 675, 676, 681, 708, 715, 717, 721, 725, 726, 731, 734, 735, 746, 753, 758, 763, 767, 769, 776, 778, 784, 788, 808, 809, 810, 811, 822, 827, 832, 833, 836, 844, 848, 862, 864, 867, 870, 871, 881, 883, 894, 901, 907, 919, 933, 934, 941, 948, 952, 953, 954, 968, 970, 974], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 7, 8, 12, 16, 19, 24, 64, 66, 70, 71, 84, 91, 94, 96, 99, 100, 104, 114, 120, 123, 129, 142, 143, 144, 149, 153, 156, 158, 162, 163, 175, 195, 198, 202, 215, 219, 234, 239, 246, 264, 267, 271, 272, 287, 306, 309, 315, 325, 331, 339, 352, 356, 359, 367, 370, 374, 378, 383, 385, 387, 389, 391, 397, 412, 414, 416, 447, 458, 474, 476, 477, 478, 482, 492, 498, 499, 505, 512, 514, 516, 519, 521, 524, 528, 531, 539, 541, 545, 552, 560, 563, 566, 581, 582, 585, 590, 596, 605, 606, 609, 614, 616, 619, 625, 635, 636, 639, 653, 654, 655, 659, 665, 675, 676, 681, 708, 715, 717, 721, 725, 726, 731, 734, 735, 746, 753, 758, 763, 767, 769, 776, 778, 784, 788, 808, 809, 810, 811, 822, 827, 832, 833, 836, 844, 848, 862, 864, 867, 870, 871, 881, 883, 894, 901, 907, 919, 933, 934, 941, 948, 952, 953, 954, 968, 970, 974], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 13, 14, 15, 23, 28, 62, 68, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 374, 389, 397, 403, 414, 416, 420, 448, 456, 457, 502, 552, 559, 577, 584, 608, 624, 635, 642, 655, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 884, 902, 930, 964, 970, 977} [INFO] [stdout] b items: {4, 98, 348, 413, 422, 617, 657, 865, 901, 922, 976} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 978), fp: EncodedCountingMonoid(56, SumMonoid(26592)) }], item_sets: [ItemSet { range: Range(978, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 657), fp: EncodedCountingMonoid(6, SumMonoid(1902)) }, Fingerprint { range: Range(657, 978), fp: EncodedCountingMonoid(5, SumMonoid(4321)) }], item_sets: [ItemSet { range: Range(978, 2), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 374), fp: EncodedCountingMonoid(20, SumMonoid(3079)) }, Fingerprint { range: Range(374, 657), fp: EncodedCountingMonoid(20, SumMonoid(10112)) }, Fingerprint { range: Range(657, 847), fp: EncodedCountingMonoid(8, SumMonoid(6068)) }, Fingerprint { range: Range(847, 978), fp: EncodedCountingMonoid(8, SumMonoid(7333)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 348), items: [4, 98], want_response: true }, ItemSet { range: Range(348, 374), items: [348], want_response: true }, ItemSet { range: Range(374, 617), items: [413, 422], want_response: true }, ItemSet { range: Range(617, 657), items: [617], want_response: true }, ItemSet { range: Range(657, 847), items: [657], want_response: true }, ItemSet { range: Range(847, 922), items: [865, 901], want_response: true }, ItemSet { range: Range(922, 978), items: [922, 976], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 348), items: [2, 13, 14, 15, 23, 28, 62, 68, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317], want_response: false }, ItemSet { range: Range(348, 374), items: [], want_response: false }, ItemSet { range: Range(374, 617), items: [374, 389, 397, 403, 414, 416, 420, 448, 456, 457, 502, 552, 559, 577, 584, 608], want_response: false }, ItemSet { range: Range(617, 657), items: [624, 635, 642, 655], want_response: false }, ItemSet { range: Range(657, 847), items: [681, 696, 709, 736, 789, 799, 819, 839], want_response: false }, ItemSet { range: Range(847, 922), items: [847, 859, 884, 902], want_response: false }, ItemSet { range: Range(922, 978), items: [930, 964, 970, 977], want_response: false }], wants: [4, 98, 348, 413, 422, 617, 657, 865, 901, 922, 976], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [2, 13, 14, 15, 23, 28, 62, 68, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 374, 389, 397, 403, 414, 416, 420, 448, 456, 457, 502, 552, 559, 577, 584, 608, 624, 635, 642, 655, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 884, 902, 930, 964, 970, 977], provide: [(4, true), (98, true), (348, true), (413, true), (422, true), (617, true), (657, true), (865, true), (901, true), (922, true), (976, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(2, true), (13, true), (14, true), (15, true), (23, true), (28, true), (62, true), (68, true), (131, true), (154, true), (181, true), (220, true), (227, true), (243, true), (244, true), (258, true), (274, true), (302, true), (303, true), (317, true), (374, true), (389, true), (397, true), (403, true), (414, true), (416, true), (420, true), (448, true), (456, true), (457, true), (502, true), (552, true), (559, true), (577, true), (584, true), (608, true), (624, true), (635, true), (642, true), (655, true), (681, true), (696, true), (709, true), (736, true), (789, true), (799, true), (819, true), (839, true), (847, true), (859, true), (884, true), (902, true), (930, true), (964, true), (970, true), (977, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 13, 14, 15, 23, 28, 62, 68, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 374, 389, 397, 403, 414, 416, 420, 448, 456, 457, 502, 552, 559, 577, 584, 608, 624, 635, 642, 655, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 884, 902, 930, 964, 970, 977} + [4, 98, 348, 413, 422, 617, 657, 865, 901, 922, 976] [INFO] [stdout] b all: {4, 98, 348, 413, 422, 617, 657, 865, 901, 922, 976} + [2, 13, 14, 15, 23, 28, 62, 68, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 374, 389, 397, 403, 414, 416, 420, 448, 456, 457, 502, 552, 559, 577, 584, 608, 624, 635, 642, 655, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 884, 902, 930, 964, 970, 977] [INFO] [stdout] [INFO] [stdout] all vec: [2, 4, 13, 14, 15, 23, 28, 62, 68, 98, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 348, 374, 389, 397, 403, 413, 414, 416, 420, 422, 448, 456, 457, 502, 552, 559, 577, 584, 608, 617, 624, 635, 642, 655, 657, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 865, 884, 901, 902, 922, 930, 964, 970, 976, 977] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 4, 13, 14, 15, 23, 28, 62, 68, 98, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 348, 374, 389, 397, 403, 413, 414, 416, 420, 422, 448, 456, 457, 502, 552, 559, 577, 584, 608, 617, 624, 635, 642, 655, 657, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 865, 884, 901, 902, 922, 930, 964, 970, 976, 977], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 4, 13, 14, 15, 23, 28, 62, 68, 98, 131, 154, 181, 220, 227, 243, 244, 258, 274, 302, 303, 317, 348, 374, 389, 397, 403, 413, 414, 416, 420, 422, 448, 456, 457, 502, 552, 559, 577, 584, 608, 617, 624, 635, 642, 655, 657, 681, 696, 709, 736, 789, 799, 819, 839, 847, 859, 865, 884, 901, 902, 922, 930, 964, 970, 976, 977], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 17, 27, 35, 36, 49, 50, 63, 113, 144, 168, 182, 195, 199, 213, 237, 239, 242, 243, 248, 262, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 480, 517, 566, 574, 586, 630, 655, 683, 691, 703, 707, 708, 713, 718, 730, 732, 741, 749, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968} [INFO] [stdout] b items: {3, 100, 156, 163, 229, 273, 471, 483, 493, 564, 570, 619, 665, 669, 711, 764, 913} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 969), fp: EncodedCountingMonoid(65, SumMonoid(30132)) }], item_sets: [ItemSet { range: Range(969, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 564), fp: EncodedCountingMonoid(9, SumMonoid(2371)) }, Fingerprint { range: Range(564, 969), fp: EncodedCountingMonoid(8, SumMonoid(5475)) }], item_sets: [ItemSet { range: Range(969, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 248), fp: EncodedCountingMonoid(19, SumMonoid(2453)) }, Fingerprint { range: Range(248, 564), fp: EncodedCountingMonoid(19, SumMonoid(7143)) }, Fingerprint { range: Range(564, 741), fp: EncodedCountingMonoid(14, SumMonoid(9396)) }, Fingerprint { range: Range(741, 969), fp: EncodedCountingMonoid(13, SumMonoid(11140)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 163), fp: EncodedCountingMonoid(3, SumMonoid(259)) }, Fingerprint { range: Range(564, 665), fp: EncodedCountingMonoid(3, SumMonoid(1753)) }, Fingerprint { range: Range(665, 741), fp: EncodedCountingMonoid(3, SumMonoid(2045)) }], item_sets: [ItemSet { range: Range(163, 248), items: [163, 229], want_response: true }, ItemSet { range: Range(248, 483), items: [273, 471], want_response: true }, ItemSet { range: Range(483, 564), items: [483, 493], want_response: true }, ItemSet { range: Range(741, 969), items: [764, 913], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 49), fp: EncodedCountingMonoid(5, SumMonoid(116)) }, Fingerprint { range: Range(49, 163), fp: EncodedCountingMonoid(5, SumMonoid(419)) }, Fingerprint { range: Range(564, 630), fp: EncodedCountingMonoid(3, SumMonoid(1726)) }, Fingerprint { range: Range(665, 713), fp: EncodedCountingMonoid(5, SumMonoid(3492)) }, Fingerprint { range: Range(713, 741), fp: EncodedCountingMonoid(4, SumMonoid(2893)) }], item_sets: [ItemSet { range: Range(163, 248), items: [168, 182, 195, 199, 213, 237, 239, 242, 243], want_response: false }, ItemSet { range: Range(248, 483), items: [248, 262, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 480], want_response: false }, ItemSet { range: Range(483, 564), items: [517], want_response: false }, ItemSet { range: Range(741, 969), items: [741, 749, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968], want_response: false }, ItemSet { range: Range(630, 665), items: [630, 655], want_response: true }], wants: [163, 229, 273, 471, 483, 493, 764], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(630, 665), items: [], want_response: false }, ItemSet { range: Range(1, 49), items: [3], want_response: true }, ItemSet { range: Range(49, 163), items: [100, 156], want_response: true }, ItemSet { range: Range(564, 619), items: [564, 570], want_response: true }, ItemSet { range: Range(619, 630), items: [619], want_response: true }, ItemSet { range: Range(665, 711), items: [665, 669], want_response: true }, ItemSet { range: Range(711, 713), items: [711], want_response: true }, ItemSet { range: Range(713, 741), items: [], want_response: true }], wants: [168, 182, 195, 199, 213, 237, 239, 242, 243, 248, 262, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 480, 517, 741, 749, 767, 780, 826, 850, 859, 899, 901, 943, 944, 968, 630, 655], provide: [(163, true), (229, true), (273, true), (471, true), (483, true), (493, true), (764, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 49), items: [1, 17, 27, 35, 36], want_response: false }, ItemSet { range: Range(49, 163), items: [49, 50, 63, 113, 144], want_response: false }, ItemSet { range: Range(564, 619), items: [566, 574, 586], want_response: false }, ItemSet { range: Range(619, 630), items: [], want_response: false }, ItemSet { range: Range(665, 711), items: [683, 691, 703, 707, 708], want_response: false }, ItemSet { range: Range(711, 713), items: [], want_response: false }, ItemSet { range: Range(713, 741), items: [713, 718, 730, 732], want_response: false }], wants: [3, 100, 156, 564, 570, 619, 665, 669, 711], provide: [(168, true), (182, true), (195, true), (199, true), (213, true), (237, true), (239, true), (242, true), (243, true), (248, true), (262, true), (292, true), (302, true), (327, true), (331, true), (333, true), (348, true), (354, true), (356, true), (381, true), (386, true), (416, true), (420, true), (456, true), (466, true), (468, true), (480, true), (517, true), (741, true), (749, true), (767, true), (780, true), (826, true), (850, true), (859, true), (899, true), (901, true), (943, true), (944, true), (968, true), (630, true), (655, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 17, 27, 35, 36, 49, 50, 63, 113, 144, 566, 574, 586, 683, 691, 703, 707, 708, 713, 718, 730, 732], provide: [(3, true), (100, true), (156, true), (564, true), (570, true), (619, true), (665, true), (669, true), (711, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (17, true), (27, true), (35, true), (36, true), (49, true), (50, true), (63, true), (113, true), (144, true), (566, true), (574, true), (586, true), (683, true), (691, true), (703, true), (707, true), (708, true), (713, true), (718, true), (730, true), (732, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 17, 27, 35, 36, 49, 50, 63, 113, 144, 168, 182, 195, 199, 213, 237, 239, 242, 243, 248, 262, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 480, 517, 566, 574, 586, 630, 655, 683, 691, 703, 707, 708, 713, 718, 730, 732, 741, 749, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968} + [163, 229, 273, 471, 483, 493, 764, 3, 100, 156, 564, 570, 619, 665, 669, 711] [INFO] [stdout] b all: {3, 100, 156, 163, 229, 273, 471, 483, 493, 564, 570, 619, 665, 669, 711, 764, 913} + [168, 182, 195, 199, 213, 237, 239, 242, 243, 248, 262, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 480, 517, 741, 749, 767, 780, 826, 850, 859, 899, 901, 943, 944, 968, 630, 655, 1, 17, 27, 35, 36, 49, 50, 63, 113, 144, 566, 574, 586, 683, 691, 703, 707, 708, 713, 718, 730, 732] [INFO] [stdout] [INFO] [stdout] all vec: [1, 3, 17, 27, 35, 36, 49, 50, 63, 100, 113, 144, 156, 163, 168, 182, 195, 199, 213, 229, 237, 239, 242, 243, 248, 262, 273, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 471, 480, 483, 493, 517, 564, 566, 570, 574, 586, 619, 630, 655, 665, 669, 683, 691, 703, 707, 708, 711, 713, 718, 730, 732, 741, 749, 764, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 3, 17, 27, 35, 36, 49, 50, 63, 100, 113, 144, 156, 163, 168, 182, 195, 199, 213, 229, 237, 239, 242, 243, 248, 262, 273, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 471, 480, 483, 493, 517, 564, 566, 570, 574, 586, 619, 630, 655, 665, 669, 683, 691, 703, 707, 708, 711, 713, 718, 730, 732, 741, 749, 764, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 3, 17, 27, 35, 36, 49, 50, 63, 100, 113, 144, 156, 163, 168, 182, 195, 199, 213, 229, 237, 239, 242, 243, 248, 262, 273, 292, 302, 327, 331, 333, 348, 354, 356, 381, 386, 416, 420, 456, 466, 468, 471, 480, 483, 493, 517, 564, 566, 570, 574, 586, 619, 630, 655, 665, 669, 683, 691, 703, 707, 708, 711, 713, 718, 730, 732, 741, 749, 764, 767, 780, 826, 850, 859, 899, 901, 913, 943, 944, 968], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {19, 43, 53, 57, 59, 88, 165, 213, 247, 293, 347, 382, 383, 390, 423, 435, 439, 460, 474, 479, 501, 524, 542, 549, 554, 612, 627, 636, 657, 658, 693, 736, 740, 761, 811, 825, 831, 847, 852, 863, 874, 891, 899, 902, 903, 946, 965, 976, 977} [INFO] [stdout] b items: {27, 83, 162, 172, 183, 186, 209, 226, 292, 327, 376, 396, 425, 429, 438, 488, 514, 516, 607, 688, 753, 827, 853, 859, 951} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(19, 978), fp: EncodedCountingMonoid(49, SumMonoid(27601)) }], item_sets: [ItemSet { range: Range(978, 19), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(19, 429), fp: EncodedCountingMonoid(13, SumMonoid(3064)) }, Fingerprint { range: Range(429, 978), fp: EncodedCountingMonoid(12, SumMonoid(7923)) }], item_sets: [ItemSet { range: Range(978, 19), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(19, 247), fp: EncodedCountingMonoid(8, SumMonoid(697)) }, Fingerprint { range: Range(247, 429), fp: EncodedCountingMonoid(7, SumMonoid(2465)) }, Fingerprint { range: Range(429, 740), fp: EncodedCountingMonoid(17, SumMonoid(9576)) }, Fingerprint { range: Range(740, 978), fp: EncodedCountingMonoid(17, SumMonoid(14863)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(19, 183), fp: EncodedCountingMonoid(4, SumMonoid(444)) }, Fingerprint { range: Range(183, 247), fp: EncodedCountingMonoid(4, SumMonoid(804)) }, Fingerprint { range: Range(247, 396), fp: EncodedCountingMonoid(3, SumMonoid(995)) }, Fingerprint { range: Range(429, 516), fp: EncodedCountingMonoid(4, SumMonoid(1869)) }, Fingerprint { range: Range(516, 740), fp: EncodedCountingMonoid(3, SumMonoid(1811)) }, Fingerprint { range: Range(740, 859), fp: EncodedCountingMonoid(3, SumMonoid(2433)) }], item_sets: [ItemSet { range: Range(396, 429), items: [396, 425], want_response: true }, ItemSet { range: Range(859, 978), items: [859, 951], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(19, 59), fp: EncodedCountingMonoid(4, SumMonoid(172)) }, Fingerprint { range: Range(59, 183), fp: EncodedCountingMonoid(3, SumMonoid(312)) }, Fingerprint { range: Range(247, 382), fp: EncodedCountingMonoid(3, SumMonoid(887)) }, Fingerprint { range: Range(382, 396), fp: EncodedCountingMonoid(3, SumMonoid(1155)) }, Fingerprint { range: Range(429, 474), fp: EncodedCountingMonoid(3, SumMonoid(1334)) }, Fingerprint { range: Range(474, 516), fp: EncodedCountingMonoid(3, SumMonoid(1454)) }, Fingerprint { range: Range(516, 636), fp: EncodedCountingMonoid(6, SumMonoid(3408)) }, Fingerprint { range: Range(636, 740), fp: EncodedCountingMonoid(5, SumMonoid(3380)) }, Fingerprint { range: Range(740, 831), fp: EncodedCountingMonoid(4, SumMonoid(3137)) }, Fingerprint { range: Range(831, 859), fp: EncodedCountingMonoid(3, SumMonoid(2530)) }], item_sets: [ItemSet { range: Range(396, 429), items: [423], want_response: false }, ItemSet { range: Range(859, 978), items: [863, 874, 891, 899, 902, 903, 946, 965, 976, 977], want_response: false }, ItemSet { range: Range(183, 247), items: [213], want_response: true }], wants: [396, 425, 859, 951], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(183, 247), items: [183, 186, 209, 226], want_response: false }, ItemSet { range: Range(19, 59), items: [27], want_response: true }, ItemSet { range: Range(59, 172), items: [83, 162], want_response: true }, ItemSet { range: Range(172, 183), items: [172], want_response: true }, ItemSet { range: Range(247, 376), items: [292, 327], want_response: true }, ItemSet { range: Range(376, 382), items: [376], want_response: true }, ItemSet { range: Range(382, 396), items: [], want_response: true }, ItemSet { range: Range(429, 474), items: [429, 438], want_response: true }, ItemSet { range: Range(474, 516), items: [488, 514], want_response: true }, ItemSet { range: Range(516, 636), items: [516, 607], want_response: true }, ItemSet { range: Range(636, 740), items: [688], want_response: true }, ItemSet { range: Range(740, 831), items: [753, 827], want_response: true }, ItemSet { range: Range(831, 859), items: [853], want_response: true }], wants: [423, 863, 874, 891, 899, 902, 903, 946, 965, 976, 977, 213], provide: [(396, true), (425, true), (859, true), (951, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(19, 59), items: [19, 43, 53, 57], want_response: false }, ItemSet { range: Range(59, 172), items: [59, 88, 165], want_response: false }, ItemSet { range: Range(172, 183), items: [], want_response: false }, ItemSet { range: Range(247, 376), items: [247, 293, 347], want_response: false }, ItemSet { range: Range(376, 382), items: [], want_response: false }, ItemSet { range: Range(382, 396), items: [382, 383, 390], want_response: false }, ItemSet { range: Range(429, 474), items: [435, 439, 460], want_response: false }, ItemSet { range: Range(474, 516), items: [474, 479, 501], want_response: false }, ItemSet { range: Range(516, 636), items: [524, 542, 549, 554, 612, 627], want_response: false }, ItemSet { range: Range(636, 740), items: [636, 657, 658, 693, 736], want_response: false }, ItemSet { range: Range(740, 831), items: [740, 761, 811, 825], want_response: false }, ItemSet { range: Range(831, 859), items: [831, 847, 852], want_response: false }], wants: [183, 186, 209, 226, 27, 83, 162, 172, 292, 327, 376, 429, 438, 488, 514, 516, 607, 688, 753, 827, 853], provide: [(423, true), (863, true), (874, true), (891, true), (899, true), (902, true), (903, true), (946, true), (965, true), (976, true), (977, true), (213, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [19, 43, 53, 57, 59, 88, 165, 247, 293, 347, 382, 383, 390, 435, 439, 460, 474, 479, 501, 524, 542, 549, 554, 612, 627, 636, 657, 658, 693, 736, 740, 761, 811, 825, 831, 847, 852], provide: [(183, true), (186, true), (209, true), (226, true), (27, true), (83, true), (162, true), (172, true), (292, true), (327, true), (376, true), (429, true), (438, true), (488, true), (514, true), (516, true), (607, true), (688, true), (753, true), (827, true), (853, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(19, true), (43, true), (53, true), (57, true), (59, true), (88, true), (165, true), (247, true), (293, true), (347, true), (382, true), (383, true), (390, true), (435, true), (439, true), (460, true), (474, true), (479, true), (501, true), (524, true), (542, true), (549, true), (554, true), (612, true), (627, true), (636, true), (657, true), (658, true), (693, true), (736, true), (740, true), (761, true), (811, true), (825, true), (831, true), (847, true), (852, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {19, 43, 53, 57, 59, 88, 165, 213, 247, 293, 347, 382, 383, 390, 423, 435, 439, 460, 474, 479, 501, 524, 542, 549, 554, 612, 627, 636, 657, 658, 693, 736, 740, 761, 811, 825, 831, 847, 852, 863, 874, 891, 899, 902, 903, 946, 965, 976, 977} + [396, 425, 859, 951, 183, 186, 209, 226, 27, 83, 162, 172, 292, 327, 376, 429, 438, 488, 514, 516, 607, 688, 753, 827, 853] [INFO] [stdout] b all: {27, 83, 162, 172, 183, 186, 209, 226, 292, 327, 376, 396, 425, 429, 438, 488, 514, 516, 607, 688, 753, 827, 853, 859, 951} + [423, 863, 874, 891, 899, 902, 903, 946, 965, 976, 977, 213, 19, 43, 53, 57, 59, 88, 165, 247, 293, 347, 382, 383, 390, 435, 439, 460, 474, 479, 501, 524, 542, 549, 554, 612, 627, 636, 657, 658, 693, 736, 740, 761, 811, 825, 831, 847, 852] [INFO] [stdout] [INFO] [stdout] all vec: [19, 27, 43, 53, 57, 59, 83, 88, 162, 165, 172, 183, 186, 209, 213, 226, 247, 292, 293, 327, 347, 376, 382, 383, 390, 396, 423, 425, 429, 435, 438, 439, 460, 474, 479, 488, 501, 514, 516, 524, 542, 549, 554, 607, 612, 627, 636, 657, 658, 688, 693, 736, 740, 753, 761, 811, 825, 827, 831, 847, 852, 853, 859, 863, 874, 891, 899, 902, 903, 946, 951, 965, 976, 977] [INFO] [stdout] [INFO] [stdout] a all vec: [19, 27, 43, 53, 57, 59, 83, 88, 162, 165, 172, 183, 186, 209, 213, 226, 247, 292, 293, 327, 347, 376, 382, 383, 390, 396, 423, 425, 429, 435, 438, 439, 460, 474, 479, 488, 501, 514, 516, 524, 542, 549, 554, 607, 612, 627, 636, 657, 658, 688, 693, 736, 740, 753, 761, 811, 825, 827, 831, 847, 852, 853, 859, 863, 874, 891, 899, 902, 903, 946, 951, 965, 976, 977], true true [INFO] [stdout] [INFO] [stdout] b all vec: [19, 27, 43, 53, 57, 59, 83, 88, 162, 165, 172, 183, 186, 209, 213, 226, 247, 292, 293, 327, 347, 376, 382, 383, 390, 396, 423, 425, 429, 435, 438, 439, 460, 474, 479, 488, 501, 514, 516, 524, 542, 549, 554, 607, 612, 627, 636, 657, 658, 688, 693, 736, 740, 753, 761, 811, 825, 827, 831, 847, 852, 853, 859, 863, 874, 891, 899, 902, 903, 946, 951, 965, 976, 977], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 21, 25, 29, 38, 46, 75, 76, 85, 120, 153, 178, 189, 205, 208, 214, 220, 259, 278, 301, 303, 361, 370, 380, 397, 428, 430, 467, 468, 474, 512, 569, 580, 616, 630, 638, 641, 660, 662, 670, 701, 716, 717, 722, 760, 789, 805, 810, 837, 854, 862, 891, 904, 932, 941, 962, 967, 989} [INFO] [stdout] b items: {16, 20, 62, 78, 82, 109, 115, 116, 134, 135, 193, 196, 204, 214, 227, 262, 273, 298, 323, 383, 406, 474, 504, 526, 546, 557, 595, 661, 710, 787, 800, 823, 837, 900, 907, 909, 919, 928, 950, 970, 983} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 990), fp: EncodedCountingMonoid(58, SumMonoid(28141)) }], item_sets: [ItemSet { range: Range(990, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 474), fp: EncodedCountingMonoid(21, SumMonoid(3846)) }, Fingerprint { range: Range(474, 990), fp: EncodedCountingMonoid(20, SumMonoid(15286)) }], item_sets: [ItemSet { range: Range(990, 6), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 214), fp: EncodedCountingMonoid(15, SumMonoid(1454)) }, Fingerprint { range: Range(214, 474), fp: EncodedCountingMonoid(14, SumMonoid(4876)) }, Fingerprint { range: Range(474, 760), fp: EncodedCountingMonoid(15, SumMonoid(9508)) }, Fingerprint { range: Range(760, 990), fp: EncodedCountingMonoid(14, SumMonoid(12303)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 116), fp: EncodedCountingMonoid(7, SumMonoid(482)) }, Fingerprint { range: Range(116, 214), fp: EncodedCountingMonoid(6, SumMonoid(978)) }, Fingerprint { range: Range(214, 298), fp: EncodedCountingMonoid(4, SumMonoid(976)) }, Fingerprint { range: Range(298, 474), fp: EncodedCountingMonoid(4, SumMonoid(1410)) }, Fingerprint { range: Range(474, 557), fp: EncodedCountingMonoid(4, SumMonoid(2050)) }, Fingerprint { range: Range(557, 760), fp: EncodedCountingMonoid(4, SumMonoid(2523)) }, Fingerprint { range: Range(760, 909), fp: EncodedCountingMonoid(6, SumMonoid(5054)) }, Fingerprint { range: Range(909, 990), fp: EncodedCountingMonoid(6, SumMonoid(5659)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 46), fp: EncodedCountingMonoid(5, SumMonoid(119)) }, Fingerprint { range: Range(46, 116), fp: EncodedCountingMonoid(4, SumMonoid(282)) }, Fingerprint { range: Range(116, 189), fp: EncodedCountingMonoid(3, SumMonoid(451)) }, Fingerprint { range: Range(189, 214), fp: EncodedCountingMonoid(3, SumMonoid(602)) }, Fingerprint { range: Range(298, 397), fp: EncodedCountingMonoid(5, SumMonoid(1715)) }, Fingerprint { range: Range(397, 474), fp: EncodedCountingMonoid(5, SumMonoid(2190)) }, Fingerprint { range: Range(557, 662), fp: EncodedCountingMonoid(7, SumMonoid(4334)) }, Fingerprint { range: Range(662, 760), fp: EncodedCountingMonoid(6, SumMonoid(4188)) }, Fingerprint { range: Range(760, 854), fp: EncodedCountingMonoid(5, SumMonoid(4001)) }, Fingerprint { range: Range(854, 909), fp: EncodedCountingMonoid(4, SumMonoid(3511)) }, Fingerprint { range: Range(909, 967), fp: EncodedCountingMonoid(3, SumMonoid(2835)) }], item_sets: [ItemSet { range: Range(214, 259), items: [214, 220], want_response: true }, ItemSet { range: Range(259, 298), items: [259, 278], want_response: true }, ItemSet { range: Range(474, 557), items: [474, 512], want_response: true }, ItemSet { range: Range(967, 990), items: [967, 989], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(46, 109), fp: EncodedCountingMonoid(3, SumMonoid(222)) }], item_sets: [ItemSet { range: Range(214, 259), items: [214, 227], want_response: false }, ItemSet { range: Range(259, 298), items: [262, 273], want_response: false }, ItemSet { range: Range(474, 557), items: [474, 504, 526, 546], want_response: false }, ItemSet { range: Range(967, 990), items: [970, 983], want_response: false }, ItemSet { range: Range(6, 46), items: [16, 20], want_response: true }, ItemSet { range: Range(109, 116), items: [109, 115], want_response: true }, ItemSet { range: Range(116, 135), items: [116, 134], want_response: true }, ItemSet { range: Range(135, 189), items: [135], want_response: true }, ItemSet { range: Range(189, 204), items: [193, 196], want_response: true }, ItemSet { range: Range(204, 214), items: [204], want_response: true }, ItemSet { range: Range(298, 383), items: [298, 323], want_response: true }, ItemSet { range: Range(383, 397), items: [383], want_response: true }, ItemSet { range: Range(397, 474), items: [406], want_response: true }, ItemSet { range: Range(557, 661), items: [557, 595], want_response: true }, ItemSet { range: Range(661, 662), items: [661], want_response: true }, ItemSet { range: Range(662, 760), items: [710], want_response: true }, ItemSet { range: Range(760, 823), items: [787, 800], want_response: true }, ItemSet { range: Range(823, 854), items: [823, 837], want_response: true }, ItemSet { range: Range(854, 909), items: [900, 907], want_response: true }, ItemSet { range: Range(909, 928), items: [909, 919], want_response: true }, ItemSet { range: Range(928, 967), items: [928, 950], want_response: true }], wants: [220, 259, 278, 512, 967, 989], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 46), items: [6, 21, 25, 29, 38], want_response: false }, ItemSet { range: Range(109, 116), items: [], want_response: false }, ItemSet { range: Range(116, 135), items: [120], want_response: false }, ItemSet { range: Range(135, 189), items: [153, 178], want_response: false }, ItemSet { range: Range(189, 204), items: [189], want_response: false }, ItemSet { range: Range(204, 214), items: [205, 208], want_response: false }, ItemSet { range: Range(298, 383), items: [301, 303, 361, 370, 380], want_response: false }, ItemSet { range: Range(383, 397), items: [], want_response: false }, ItemSet { range: Range(397, 474), items: [397, 428, 430, 467, 468], want_response: false }, ItemSet { range: Range(557, 661), items: [569, 580, 616, 630, 638, 641, 660], want_response: false }, ItemSet { range: Range(661, 662), items: [], want_response: false }, ItemSet { range: Range(662, 760), items: [662, 670, 701, 716, 717, 722], want_response: false }, ItemSet { range: Range(760, 823), items: [760, 789, 805, 810], want_response: false }, ItemSet { range: Range(823, 854), items: [837], want_response: false }, ItemSet { range: Range(854, 909), items: [854, 862, 891, 904], want_response: false }, ItemSet { range: Range(909, 928), items: [], want_response: false }, ItemSet { range: Range(928, 967), items: [932, 941, 962], want_response: false }, ItemSet { range: Range(46, 76), items: [46, 75], want_response: true }, ItemSet { range: Range(76, 109), items: [76, 85], want_response: true }], wants: [227, 262, 273, 504, 526, 546, 970, 983, 16, 20, 109, 115, 116, 134, 135, 193, 196, 204, 298, 323, 383, 406, 557, 595, 661, 710, 787, 800, 823, 900, 907, 909, 919, 928, 950], provide: [(220, true), (259, true), (278, true), (512, true), (967, true), (989, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(46, 76), items: [62], want_response: false }, ItemSet { range: Range(76, 109), items: [78, 82], want_response: false }], wants: [6, 21, 25, 29, 38, 120, 153, 178, 189, 205, 208, 301, 303, 361, 370, 380, 397, 428, 430, 467, 468, 569, 580, 616, 630, 638, 641, 660, 662, 670, 701, 716, 717, 722, 760, 789, 805, 810, 854, 862, 891, 904, 932, 941, 962, 46, 75, 76, 85], provide: [(227, true), (262, true), (273, true), (504, true), (526, true), (546, true), (970, true), (983, true), (16, true), (20, true), (109, true), (115, true), (116, true), (134, true), (135, true), (193, true), (196, true), (204, true), (298, true), (323, true), (383, true), (406, true), (557, true), (595, true), (661, true), (710, true), (787, true), (800, true), (823, true), (900, true), (907, true), (909, true), (919, true), (928, true), (950, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [62, 78, 82], provide: [(6, true), (21, true), (25, true), (29, true), (38, true), (120, true), (153, true), (178, true), (189, true), (205, true), (208, true), (301, true), (303, true), (361, true), (370, true), (380, true), (397, true), (428, true), (430, true), (467, true), (468, true), (569, true), (580, true), (616, true), (630, true), (638, true), (641, true), (660, true), (662, true), (670, true), (701, true), (716, true), (717, true), (722, true), (760, true), (789, true), (805, true), (810, true), (854, true), (862, true), (891, true), (904, true), (932, true), (941, true), (962, true), (46, true), (75, true), (76, true), (85, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(62, true), (78, true), (82, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 21, 25, 29, 38, 46, 75, 76, 85, 120, 153, 178, 189, 205, 208, 214, 220, 259, 278, 301, 303, 361, 370, 380, 397, 428, 430, 467, 468, 474, 512, 569, 580, 616, 630, 638, 641, 660, 662, 670, 701, 716, 717, 722, 760, 789, 805, 810, 837, 854, 862, 891, 904, 932, 941, 962, 967, 989} + [227, 262, 273, 504, 526, 546, 970, 983, 16, 20, 109, 115, 116, 134, 135, 193, 196, 204, 298, 323, 383, 406, 557, 595, 661, 710, 787, 800, 823, 900, 907, 909, 919, 928, 950, 62, 78, 82] [INFO] [stdout] b all: {16, 20, 62, 78, 82, 109, 115, 116, 134, 135, 193, 196, 204, 214, 227, 262, 273, 298, 323, 383, 406, 474, 504, 526, 546, 557, 595, 661, 710, 787, 800, 823, 837, 900, 907, 909, 919, 928, 950, 970, 983} + [220, 259, 278, 512, 967, 989, 6, 21, 25, 29, 38, 120, 153, 178, 189, 205, 208, 301, 303, 361, 370, 380, 397, 428, 430, 467, 468, 569, 580, 616, 630, 638, 641, 660, 662, 670, 701, 716, 717, 722, 760, 789, 805, 810, 854, 862, 891, 904, 932, 941, 962, 46, 75, 76, 85] [INFO] [stdout] [INFO] [stdout] all vec: [6, 16, 20, 21, 25, 29, 38, 46, 62, 75, 76, 78, 82, 85, 109, 115, 116, 120, 134, 135, 153, 178, 189, 193, 196, 204, 205, 208, 214, 220, 227, 259, 262, 273, 278, 298, 301, 303, 323, 361, 370, 380, 383, 397, 406, 428, 430, 467, 468, 474, 504, 512, 526, 546, 557, 569, 580, 595, 616, 630, 638, 641, 660, 661, 662, 670, 701, 710, 716, 717, 722, 760, 787, 789, 800, 805, 810, 823, 837, 854, 862, 891, 900, 904, 907, 909, 919, 928, 932, 941, 950, 962, 967, 970, 983, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 16, 20, 21, 25, 29, 38, 46, 62, 75, 76, 78, 82, 85, 109, 115, 116, 120, 134, 135, 153, 178, 189, 193, 196, 204, 205, 208, 214, 220, 227, 259, 262, 273, 278, 298, 301, 303, 323, 361, 370, 380, 383, 397, 406, 428, 430, 467, 468, 474, 504, 512, 526, 546, 557, 569, 580, 595, 616, 630, 638, 641, 660, 661, 662, 670, 701, 710, 716, 717, 722, 760, 787, 789, 800, 805, 810, 823, 837, 854, 862, 891, 900, 904, 907, 909, 919, 928, 932, 941, 950, 962, 967, 970, 983, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 16, 20, 21, 25, 29, 38, 46, 62, 75, 76, 78, 82, 85, 109, 115, 116, 120, 134, 135, 153, 178, 189, 193, 196, 204, 205, 208, 214, 220, 227, 259, 262, 273, 278, 298, 301, 303, 323, 361, 370, 380, 383, 397, 406, 428, 430, 467, 468, 474, 504, 512, 526, 546, 557, 569, 580, 595, 616, 630, 638, 641, 660, 661, 662, 670, 701, 710, 716, 717, 722, 760, 787, 789, 800, 805, 810, 823, 837, 854, 862, 891, 900, 904, 907, 909, 919, 928, 932, 941, 950, 962, 967, 970, 983, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 13, 35, 43, 47, 52, 67, 70, 76, 80, 100, 105, 135, 146, 164, 176, 202, 236, 240, 261, 278, 299, 323, 327, 341, 344, 357, 359, 362, 379, 383, 394, 436, 447, 488, 489, 509, 513, 518, 525, 542, 552, 553, 592, 633, 645, 649, 664, 667, 715, 740, 744, 750, 763, 834, 844, 861, 904, 933, 963, 974, 992, 993} [INFO] [stdout] b items: {12, 23, 34, 43, 85, 116, 120, 125, 137, 138, 158, 177, 184, 190, 191, 197, 216, 249, 266, 276, 277, 278, 300, 345, 359, 385, 387, 403, 405, 420, 422, 424, 456, 464, 473, 498, 506, 507, 521, 523, 524, 549, 573, 593, 604, 630, 634, 649, 653, 655, 680, 697, 704, 715, 726, 766, 782, 794, 803, 808, 811, 843, 847, 854, 864, 865, 895, 907, 919, 922, 935, 949, 965, 985} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 994), fp: EncodedCountingMonoid(63, SumMonoid(27832)) }], item_sets: [ItemSet { range: Range(994, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 507), fp: EncodedCountingMonoid(37, SumMonoid(9739)) }, Fingerprint { range: Range(507, 994), fp: EncodedCountingMonoid(37, SumMonoid(27651)) }], item_sets: [ItemSet { range: Range(994, 6), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 240), fp: EncodedCountingMonoid(18, SumMonoid(1753)) }, Fingerprint { range: Range(240, 507), fp: EncodedCountingMonoid(18, SumMonoid(6507)) }, Fingerprint { range: Range(507, 740), fp: EncodedCountingMonoid(14, SumMonoid(8277)) }, Fingerprint { range: Range(740, 994), fp: EncodedCountingMonoid(13, SumMonoid(11295)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 138), fp: EncodedCountingMonoid(9, SumMonoid(695)) }, Fingerprint { range: Range(138, 240), fp: EncodedCountingMonoid(8, SumMonoid(1451)) }, Fingerprint { range: Range(240, 403), fp: EncodedCountingMonoid(10, SumMonoid(3122)) }, Fingerprint { range: Range(403, 507), fp: EncodedCountingMonoid(10, SumMonoid(4471)) }, Fingerprint { range: Range(507, 634), fp: EncodedCountingMonoid(9, SumMonoid(5024)) }, Fingerprint { range: Range(634, 740), fp: EncodedCountingMonoid(9, SumMonoid(6113)) }, Fingerprint { range: Range(740, 865), fp: EncodedCountingMonoid(10, SumMonoid(8172)) }, Fingerprint { range: Range(865, 994), fp: EncodedCountingMonoid(9, SumMonoid(8342)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 70), fp: EncodedCountingMonoid(7, SumMonoid(263)) }, Fingerprint { range: Range(70, 138), fp: EncodedCountingMonoid(6, SumMonoid(566)) }, Fingerprint { range: Range(138, 202), fp: EncodedCountingMonoid(3, SumMonoid(486)) }, Fingerprint { range: Range(240, 344), fp: EncodedCountingMonoid(7, SumMonoid(2069)) }, Fingerprint { range: Range(344, 403), fp: EncodedCountingMonoid(7, SumMonoid(2578)) }, Fingerprint { range: Range(507, 552), fp: EncodedCountingMonoid(5, SumMonoid(2607)) }, Fingerprint { range: Range(552, 634), fp: EncodedCountingMonoid(4, SumMonoid(2330)) }, Fingerprint { range: Range(634, 667), fp: EncodedCountingMonoid(3, SumMonoid(1958)) }, Fingerprint { range: Range(740, 834), fp: EncodedCountingMonoid(4, SumMonoid(2997)) }, Fingerprint { range: Range(834, 865), fp: EncodedCountingMonoid(3, SumMonoid(2539)) }, Fingerprint { range: Range(865, 974), fp: EncodedCountingMonoid(3, SumMonoid(2800)) }, Fingerprint { range: Range(974, 994), fp: EncodedCountingMonoid(3, SumMonoid(2959)) }], item_sets: [ItemSet { range: Range(202, 240), items: [202, 236], want_response: true }, ItemSet { range: Range(403, 488), items: [436, 447], want_response: true }, ItemSet { range: Range(488, 507), items: [488, 489], want_response: true }, ItemSet { range: Range(667, 740), items: [667, 715], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(70, 125), fp: EncodedCountingMonoid(3, SumMonoid(321)) }, Fingerprint { range: Range(138, 190), fp: EncodedCountingMonoid(4, SumMonoid(657)) }, Fingerprint { range: Range(190, 202), fp: EncodedCountingMonoid(3, SumMonoid(578)) }, Fingerprint { range: Range(240, 277), fp: EncodedCountingMonoid(3, SumMonoid(791)) }, Fingerprint { range: Range(277, 344), fp: EncodedCountingMonoid(3, SumMonoid(855)) }, Fingerprint { range: Range(507, 524), fp: EncodedCountingMonoid(3, SumMonoid(1551)) }, Fingerprint { range: Range(740, 803), fp: EncodedCountingMonoid(3, SumMonoid(2342)) }, Fingerprint { range: Range(803, 834), fp: EncodedCountingMonoid(3, SumMonoid(2422)) }, Fingerprint { range: Range(865, 922), fp: EncodedCountingMonoid(4, SumMonoid(3586)) }, Fingerprint { range: Range(922, 974), fp: EncodedCountingMonoid(4, SumMonoid(3771)) }], item_sets: [ItemSet { range: Range(202, 240), items: [216], want_response: false }, ItemSet { range: Range(403, 488), items: [403, 405, 420, 422, 424, 456, 464, 473], want_response: false }, ItemSet { range: Range(488, 507), items: [498, 506], want_response: false }, ItemSet { range: Range(667, 740), items: [680, 697, 704, 715, 726], want_response: false }, ItemSet { range: Range(6, 34), items: [12, 23], want_response: true }, ItemSet { range: Range(34, 70), items: [34, 43], want_response: true }, ItemSet { range: Range(125, 138), items: [125, 137], want_response: true }, ItemSet { range: Range(344, 385), items: [345, 359], want_response: true }, ItemSet { range: Range(385, 403), items: [385, 387], want_response: true }, ItemSet { range: Range(524, 552), items: [524, 549], want_response: true }, ItemSet { range: Range(552, 604), items: [573, 593], want_response: true }, ItemSet { range: Range(604, 634), items: [604, 630], want_response: true }, ItemSet { range: Range(634, 653), items: [634, 649], want_response: true }, ItemSet { range: Range(653, 667), items: [653, 655], want_response: true }, ItemSet { range: Range(834, 854), items: [843, 847], want_response: true }, ItemSet { range: Range(854, 865), items: [854, 864], want_response: true }, ItemSet { range: Range(974, 994), items: [985], want_response: true }], wants: [202, 236, 436, 447, 488, 489, 667], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(70, 100), fp: EncodedCountingMonoid(3, SumMonoid(226)) }, Fingerprint { range: Range(277, 327), fp: EncodedCountingMonoid(3, SumMonoid(900)) }], item_sets: [ItemSet { range: Range(6, 34), items: [6, 13], want_response: false }, ItemSet { range: Range(34, 70), items: [35, 43, 47, 52, 67], want_response: false }, ItemSet { range: Range(125, 138), items: [135], want_response: false }, ItemSet { range: Range(344, 385), items: [344, 357, 359, 362, 379, 383], want_response: false }, ItemSet { range: Range(385, 403), items: [394], want_response: false }, ItemSet { range: Range(524, 552), items: [525, 542], want_response: false }, ItemSet { range: Range(552, 604), items: [552, 553, 592], want_response: false }, ItemSet { range: Range(604, 634), items: [633], want_response: false }, ItemSet { range: Range(634, 653), items: [645, 649], want_response: false }, ItemSet { range: Range(653, 667), items: [664], want_response: false }, ItemSet { range: Range(834, 854), items: [834, 844], want_response: false }, ItemSet { range: Range(854, 865), items: [861], want_response: false }, ItemSet { range: Range(974, 994), items: [974, 992, 993], want_response: false }, ItemSet { range: Range(100, 125), items: [100, 105], want_response: true }, ItemSet { range: Range(138, 176), items: [146, 164], want_response: true }, ItemSet { range: Range(176, 190), items: [176], want_response: true }, ItemSet { range: Range(190, 202), items: [], want_response: true }, ItemSet { range: Range(240, 277), items: [240, 261], want_response: true }, ItemSet { range: Range(327, 344), items: [327, 341], want_response: true }, ItemSet { range: Range(507, 518), items: [509, 513], want_response: true }, ItemSet { range: Range(518, 524), items: [518], want_response: true }, ItemSet { range: Range(740, 750), items: [740, 744], want_response: true }, ItemSet { range: Range(750, 803), items: [750, 763], want_response: true }, ItemSet { range: Range(803, 834), items: [], want_response: true }, ItemSet { range: Range(865, 922), items: [904], want_response: true }, ItemSet { range: Range(922, 974), items: [933, 963], want_response: true }], wants: [216, 403, 405, 420, 422, 424, 456, 464, 473, 498, 506, 680, 697, 704, 726, 12, 23, 34, 125, 137, 345, 385, 387, 524, 549, 573, 593, 604, 630, 634, 653, 655, 843, 847, 854, 864, 985], provide: [(202, true), (236, true), (436, true), (447, true), (488, true), (489, true), (667, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(100, 125), items: [116, 120], want_response: false }, ItemSet { range: Range(138, 176), items: [138, 158], want_response: false }, ItemSet { range: Range(176, 190), items: [177, 184], want_response: false }, ItemSet { range: Range(190, 202), items: [190, 191, 197], want_response: false }, ItemSet { range: Range(240, 277), items: [249, 266, 276], want_response: false }, ItemSet { range: Range(327, 344), items: [], want_response: false }, ItemSet { range: Range(507, 518), items: [507], want_response: false }, ItemSet { range: Range(518, 524), items: [521, 523], want_response: false }, ItemSet { range: Range(740, 750), items: [], want_response: false }, ItemSet { range: Range(750, 803), items: [766, 782, 794], want_response: false }, ItemSet { range: Range(803, 834), items: [803, 808, 811], want_response: false }, ItemSet { range: Range(865, 922), items: [865, 895, 907, 919], want_response: false }, ItemSet { range: Range(922, 974), items: [922, 935, 949, 965], want_response: false }, ItemSet { range: Range(70, 100), items: [85], want_response: true }, ItemSet { range: Range(277, 300), items: [277, 278], want_response: true }, ItemSet { range: Range(300, 327), items: [300], want_response: true }], wants: [6, 13, 35, 47, 52, 67, 135, 344, 357, 362, 379, 383, 394, 525, 542, 552, 553, 592, 633, 645, 664, 834, 844, 861, 974, 992, 993, 100, 105, 146, 164, 176, 240, 261, 327, 341, 509, 513, 518, 740, 744, 750, 763, 904, 933, 963], provide: [(216, true), (403, true), (405, true), (420, true), (422, true), (424, true), (456, true), (464, true), (473, true), (498, true), (506, true), (680, true), (697, true), (704, true), (726, true), (12, true), (23, true), (34, true), (125, true), (137, true), (345, true), (385, true), (387, true), (524, true), (549, true), (573, true), (593, true), (604, true), (630, true), (634, true), (653, true), (655, true), (843, true), (847, true), (854, true), (864, true), (985, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(70, 100), items: [70, 76, 80], want_response: false }, ItemSet { range: Range(277, 300), items: [278, 299], want_response: false }, ItemSet { range: Range(300, 327), items: [323], want_response: false }], wants: [116, 120, 138, 158, 177, 184, 190, 191, 197, 249, 266, 276, 507, 521, 523, 766, 782, 794, 803, 808, 811, 865, 895, 907, 919, 922, 935, 949, 965, 85, 277, 300], provide: [(6, true), (13, true), (35, true), (47, true), (52, true), (67, true), (135, true), (344, true), (357, true), (362, true), (379, true), (383, true), (394, true), (525, true), (542, true), (552, true), (553, true), (592, true), (633, true), (645, true), (664, true), (834, true), (844, true), (861, true), (974, true), (992, true), (993, true), (100, true), (105, true), (146, true), (164, true), (176, true), (240, true), (261, true), (327, true), (341, true), (509, true), (513, true), (518, true), (740, true), (744, true), (750, true), (763, true), (904, true), (933, true), (963, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [70, 76, 80, 299, 323], provide: [(116, true), (120, true), (138, true), (158, true), (177, true), (184, true), (190, true), (191, true), (197, true), (249, true), (266, true), (276, true), (507, true), (521, true), (523, true), (766, true), (782, true), (794, true), (803, true), (808, true), (811, true), (865, true), (895, true), (907, true), (919, true), (922, true), (935, true), (949, true), (965, true), (85, true), (277, true), (300, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(70, true), (76, true), (80, true), (299, true), (323, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 13, 35, 43, 47, 52, 67, 70, 76, 80, 100, 105, 135, 146, 164, 176, 202, 236, 240, 261, 278, 299, 323, 327, 341, 344, 357, 359, 362, 379, 383, 394, 436, 447, 488, 489, 509, 513, 518, 525, 542, 552, 553, 592, 633, 645, 649, 664, 667, 715, 740, 744, 750, 763, 834, 844, 861, 904, 933, 963, 974, 992, 993} + [216, 403, 405, 420, 422, 424, 456, 464, 473, 498, 506, 680, 697, 704, 726, 12, 23, 34, 125, 137, 345, 385, 387, 524, 549, 573, 593, 604, 630, 634, 653, 655, 843, 847, 854, 864, 985, 116, 120, 138, 158, 177, 184, 190, 191, 197, 249, 266, 276, 507, 521, 523, 766, 782, 794, 803, 808, 811, 865, 895, 907, 919, 922, 935, 949, 965, 85, 277, 300] [INFO] [stdout] b all: {12, 23, 34, 43, 85, 116, 120, 125, 137, 138, 158, 177, 184, 190, 191, 197, 216, 249, 266, 276, 277, 278, 300, 345, 359, 385, 387, 403, 405, 420, 422, 424, 456, 464, 473, 498, 506, 507, 521, 523, 524, 549, 573, 593, 604, 630, 634, 649, 653, 655, 680, 697, 704, 715, 726, 766, 782, 794, 803, 808, 811, 843, 847, 854, 864, 865, 895, 907, 919, 922, 935, 949, 965, 985} + [202, 236, 436, 447, 488, 489, 667, 6, 13, 35, 47, 52, 67, 135, 344, 357, 362, 379, 383, 394, 525, 542, 552, 553, 592, 633, 645, 664, 834, 844, 861, 974, 992, 993, 100, 105, 146, 164, 176, 240, 261, 327, 341, 509, 513, 518, 740, 744, 750, 763, 904, 933, 963, 70, 76, 80, 299, 323] [INFO] [stdout] [INFO] [stdout] all vec: [6, 12, 13, 23, 34, 35, 43, 47, 52, 67, 70, 76, 80, 85, 100, 105, 116, 120, 125, 135, 137, 138, 146, 158, 164, 176, 177, 184, 190, 191, 197, 202, 216, 236, 240, 249, 261, 266, 276, 277, 278, 299, 300, 323, 327, 341, 344, 345, 357, 359, 362, 379, 383, 385, 387, 394, 403, 405, 420, 422, 424, 436, 447, 456, 464, 473, 488, 489, 498, 506, 507, 509, 513, 518, 521, 523, 524, 525, 542, 549, 552, 553, 573, 592, 593, 604, 630, 633, 634, 645, 649, 653, 655, 664, 667, 680, 697, 704, 715, 726, 740, 744, 750, 763, 766, 782, 794, 803, 808, 811, 834, 843, 844, 847, 854, 861, 864, 865, 895, 904, 907, 919, 922, 933, 935, 949, 963, 965, 974, 985, 992, 993] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 12, 13, 23, 34, 35, 43, 47, 52, 67, 70, 76, 80, 85, 100, 105, 116, 120, 125, 135, 137, 138, 146, 158, 164, 176, 177, 184, 190, 191, 197, 202, 216, 236, 240, 249, 261, 266, 276, 277, 278, 299, 300, 323, 327, 341, 344, 345, 357, 359, 362, 379, 383, 385, 387, 394, 403, 405, 420, 422, 424, 436, 447, 456, 464, 473, 488, 489, 498, 506, 507, 509, 513, 518, 521, 523, 524, 525, 542, 549, 552, 553, 573, 592, 593, 604, 630, 633, 634, 645, 649, 653, 655, 664, 667, 680, 697, 704, 715, 726, 740, 744, 750, 763, 766, 782, 794, 803, 808, 811, 834, 843, 844, 847, 854, 861, 864, 865, 895, 904, 907, 919, 922, 933, 935, 949, 963, 965, 974, 985, 992, 993], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 12, 13, 23, 34, 35, 43, 47, 52, 67, 70, 76, 80, 85, 100, 105, 116, 120, 125, 135, 137, 138, 146, 158, 164, 176, 177, 184, 190, 191, 197, 202, 216, 236, 240, 249, 261, 266, 276, 277, 278, 299, 300, 323, 327, 341, 344, 345, 357, 359, 362, 379, 383, 385, 387, 394, 403, 405, 420, 422, 424, 436, 447, 456, 464, 473, 488, 489, 498, 506, 507, 509, 513, 518, 521, 523, 524, 525, 542, 549, 552, 553, 573, 592, 593, 604, 630, 633, 634, 645, 649, 653, 655, 664, 667, 680, 697, 704, 715, 726, 740, 744, 750, 763, 766, 782, 794, 803, 808, 811, 834, 843, 844, 847, 854, 861, 864, 865, 895, 904, 907, 919, 922, 933, 935, 949, 963, 965, 974, 985, 992, 993], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {24, 29, 50, 55, 63, 67, 82, 83, 101, 119, 120, 130, 156, 175, 183, 194, 198, 199, 202, 221, 225, 229, 237, 250, 258, 307, 308, 309, 315, 316, 321, 334, 343, 358, 383, 387, 389, 393, 414, 418, 421, 424, 431, 449, 461, 464, 467, 474, 520, 524, 532, 541, 545, 563, 587, 591, 595, 619, 621, 635, 636, 640, 670, 679, 707, 708, 727, 739, 753, 758, 765, 774, 779, 802, 818, 843, 852, 863, 864, 865, 866, 872, 883, 890, 891, 910, 922, 926, 934, 939, 943, 947, 958, 990, 997} [INFO] [stdout] b items: {3, 20, 38, 61, 71, 76, 99, 108, 118, 119, 142, 145, 153, 176, 190, 208, 209, 226, 298, 332, 356, 391, 393, 395, 398, 399, 411, 414, 444, 453, 454, 458, 462, 467, 489, 498, 502, 523, 534, 572, 618, 627, 639, 643, 652, 653, 657, 665, 673, 680, 712, 717, 719, 725, 727, 749, 761, 763, 777, 779, 780, 783, 785, 850, 868, 919, 928, 935, 937, 940, 956, 962, 971, 976, 998} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 998), fp: EncodedCountingMonoid(95, SumMonoid(48519)) }], item_sets: [ItemSet { range: Range(998, 24), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(24, 534), fp: EncodedCountingMonoid(36, SumMonoid(10676)) }, Fingerprint { range: Range(534, 998), fp: EncodedCountingMonoid(36, SumMonoid(27632)) }], item_sets: [ItemSet { range: Range(998, 24), items: [998, 3, 20], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 308), fp: EncodedCountingMonoid(26, SumMonoid(3957)) }, Fingerprint { range: Range(308, 534), fp: EncodedCountingMonoid(25, SumMonoid(10155)) }, Fingerprint { range: Range(534, 802), fp: EncodedCountingMonoid(22, SumMonoid(14632)) }, Fingerprint { range: Range(802, 998), fp: EncodedCountingMonoid(22, SumMonoid(19775)) }], item_sets: [], wants: [998, 3, 20], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(24, 145), fp: EncodedCountingMonoid(9, SumMonoid(832)) }, Fingerprint { range: Range(145, 308), fp: EncodedCountingMonoid(8, SumMonoid(1605)) }, Fingerprint { range: Range(308, 453), fp: EncodedCountingMonoid(10, SumMonoid(3933)) }, Fingerprint { range: Range(453, 534), fp: EncodedCountingMonoid(9, SumMonoid(4306)) }, Fingerprint { range: Range(534, 717), fp: EncodedCountingMonoid(13, SumMonoid(8325)) }, Fingerprint { range: Range(717, 802), fp: EncodedCountingMonoid(12, SumMonoid(9065)) }, Fingerprint { range: Range(802, 940), fp: EncodedCountingMonoid(6, SumMonoid(5437)) }, Fingerprint { range: Range(940, 998), fp: EncodedCountingMonoid(5, SumMonoid(4805)) }], item_sets: [], wants: [], provide: [(998, true), (3, true), (20, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 82), fp: EncodedCountingMonoid(6, SumMonoid(288)) }, Fingerprint { range: Range(82, 145), fp: EncodedCountingMonoid(6, SumMonoid(635)) }, Fingerprint { range: Range(145, 221), fp: EncodedCountingMonoid(7, SumMonoid(1307)) }, Fingerprint { range: Range(221, 308), fp: EncodedCountingMonoid(7, SumMonoid(1727)) }, Fingerprint { range: Range(308, 387), fp: EncodedCountingMonoid(9, SumMonoid(2987)) }, Fingerprint { range: Range(387, 453), fp: EncodedCountingMonoid(9, SumMonoid(3726)) }, Fingerprint { range: Range(453, 520), fp: EncodedCountingMonoid(4, SumMonoid(1866)) }, Fingerprint { range: Range(520, 534), fp: EncodedCountingMonoid(3, SumMonoid(1576)) }, Fingerprint { range: Range(534, 635), fp: EncodedCountingMonoid(8, SumMonoid(4662)) }, Fingerprint { range: Range(635, 717), fp: EncodedCountingMonoid(7, SumMonoid(4675)) }, Fingerprint { range: Range(717, 765), fp: EncodedCountingMonoid(4, SumMonoid(2977)) }, Fingerprint { range: Range(765, 802), fp: EncodedCountingMonoid(3, SumMonoid(2318)) }, Fingerprint { range: Range(802, 883), fp: EncodedCountingMonoid(9, SumMonoid(7645)) }, Fingerprint { range: Range(883, 940), fp: EncodedCountingMonoid(8, SumMonoid(7295)) }, Fingerprint { range: Range(940, 990), fp: EncodedCountingMonoid(3, SumMonoid(2848)) }], item_sets: [ItemSet { range: Range(990, 998), items: [990, 997], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(82, 119), fp: EncodedCountingMonoid(3, SumMonoid(325)) }, Fingerprint { range: Range(145, 190), fp: EncodedCountingMonoid(3, SumMonoid(474)) }, Fingerprint { range: Range(190, 221), fp: EncodedCountingMonoid(3, SumMonoid(607)) }, Fingerprint { range: Range(387, 399), fp: EncodedCountingMonoid(4, SumMonoid(1577)) }, Fingerprint { range: Range(399, 453), fp: EncodedCountingMonoid(4, SumMonoid(1668)) }, Fingerprint { range: Range(453, 467), fp: EncodedCountingMonoid(4, SumMonoid(1827)) }, Fingerprint { range: Range(467, 520), fp: EncodedCountingMonoid(4, SumMonoid(1956)) }, Fingerprint { range: Range(635, 665), fp: EncodedCountingMonoid(5, SumMonoid(3244)) }, Fingerprint { range: Range(665, 717), fp: EncodedCountingMonoid(4, SumMonoid(2730)) }, Fingerprint { range: Range(717, 749), fp: EncodedCountingMonoid(4, SumMonoid(2888)) }, Fingerprint { range: Range(749, 765), fp: EncodedCountingMonoid(3, SumMonoid(2273)) }, Fingerprint { range: Range(765, 783), fp: EncodedCountingMonoid(3, SumMonoid(2336)) }, Fingerprint { range: Range(940, 971), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(990, 998), items: [], want_response: false }, ItemSet { range: Range(24, 71), items: [38, 61], want_response: true }, ItemSet { range: Range(71, 82), items: [71, 76], want_response: true }, ItemSet { range: Range(119, 145), items: [119, 142], want_response: true }, ItemSet { range: Range(221, 308), items: [226, 298], want_response: true }, ItemSet { range: Range(308, 387), items: [332, 356], want_response: true }, ItemSet { range: Range(520, 534), items: [523], want_response: true }, ItemSet { range: Range(534, 618), items: [534, 572], want_response: true }, ItemSet { range: Range(618, 635), items: [618, 627], want_response: true }, ItemSet { range: Range(783, 802), items: [783, 785], want_response: true }, ItemSet { range: Range(802, 883), items: [850, 868], want_response: true }, ItemSet { range: Range(883, 935), items: [919, 928], want_response: true }, ItemSet { range: Range(935, 940), items: [935, 937], want_response: true }, ItemSet { range: Range(971, 990), items: [971, 976], want_response: true }], wants: [990, 997], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(399, 424), fp: EncodedCountingMonoid(3, SumMonoid(1253)) }, Fingerprint { range: Range(424, 453), fp: EncodedCountingMonoid(3, SumMonoid(1304)) }], item_sets: [ItemSet { range: Range(24, 71), items: [24, 29, 50, 55, 63, 67], want_response: false }, ItemSet { range: Range(71, 82), items: [], want_response: false }, ItemSet { range: Range(119, 145), items: [119, 120, 130], want_response: false }, ItemSet { range: Range(221, 308), items: [221, 225, 229, 237, 250, 258, 307], want_response: false }, ItemSet { range: Range(308, 387), items: [308, 309, 315, 316, 321, 334, 343, 358, 383], want_response: false }, ItemSet { range: Range(520, 534), items: [520, 524, 532], want_response: false }, ItemSet { range: Range(534, 618), items: [541, 545, 563, 587, 591, 595], want_response: false }, ItemSet { range: Range(618, 635), items: [619, 621], want_response: false }, ItemSet { range: Range(783, 802), items: [], want_response: false }, ItemSet { range: Range(802, 883), items: [802, 818, 843, 852, 863, 864, 865, 866, 872], want_response: false }, ItemSet { range: Range(883, 935), items: [883, 890, 891, 910, 922, 926, 934], want_response: false }, ItemSet { range: Range(935, 940), items: [939], want_response: false }, ItemSet { range: Range(971, 990), items: [], want_response: false }, ItemSet { range: Range(82, 101), items: [82, 83], want_response: true }, ItemSet { range: Range(101, 119), items: [101], want_response: true }, ItemSet { range: Range(145, 183), items: [156, 175], want_response: true }, ItemSet { range: Range(183, 190), items: [183], want_response: true }, ItemSet { range: Range(190, 199), items: [194, 198], want_response: true }, ItemSet { range: Range(199, 221), items: [199, 202], want_response: true }, ItemSet { range: Range(387, 393), items: [387, 389], want_response: true }, ItemSet { range: Range(393, 399), items: [393], want_response: true }, ItemSet { range: Range(453, 467), items: [461, 464], want_response: true }, ItemSet { range: Range(467, 520), items: [467, 474], want_response: true }, ItemSet { range: Range(635, 640), items: [635, 636], want_response: true }, ItemSet { range: Range(640, 665), items: [640], want_response: true }, ItemSet { range: Range(665, 707), items: [670, 679], want_response: true }, ItemSet { range: Range(707, 717), items: [707, 708], want_response: true }, ItemSet { range: Range(717, 749), items: [727, 739], want_response: true }, ItemSet { range: Range(749, 765), items: [753, 758], want_response: true }, ItemSet { range: Range(765, 779), items: [765, 774], want_response: true }, ItemSet { range: Range(779, 783), items: [779], want_response: true }, ItemSet { range: Range(940, 958), items: [943, 947], want_response: true }, ItemSet { range: Range(958, 971), items: [958], want_response: true }], wants: [38, 61, 71, 76, 142, 226, 298, 332, 356, 523, 534, 572, 618, 627, 783, 785, 850, 868, 919, 928, 935, 937, 971, 976], provide: [(990, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(82, 101), items: [99], want_response: false }, ItemSet { range: Range(101, 119), items: [108, 118], want_response: false }, ItemSet { range: Range(145, 183), items: [145, 153, 176], want_response: false }, ItemSet { range: Range(183, 190), items: [], want_response: false }, ItemSet { range: Range(190, 199), items: [190], want_response: false }, ItemSet { range: Range(199, 221), items: [208, 209], want_response: false }, ItemSet { range: Range(387, 393), items: [391], want_response: false }, ItemSet { range: Range(393, 399), items: [393, 395, 398], want_response: false }, ItemSet { range: Range(453, 467), items: [453, 454, 458, 462], want_response: false }, ItemSet { range: Range(467, 520), items: [467, 489, 498, 502], want_response: false }, ItemSet { range: Range(635, 640), items: [639], want_response: false }, ItemSet { range: Range(640, 665), items: [643, 652, 653, 657], want_response: false }, ItemSet { range: Range(665, 707), items: [665, 673, 680], want_response: false }, ItemSet { range: Range(707, 717), items: [712], want_response: false }, ItemSet { range: Range(717, 749), items: [717, 719, 725, 727], want_response: false }, ItemSet { range: Range(749, 765), items: [749, 761, 763], want_response: false }, ItemSet { range: Range(765, 779), items: [777], want_response: false }, ItemSet { range: Range(779, 783), items: [779, 780], want_response: false }, ItemSet { range: Range(940, 958), items: [940, 956], want_response: false }, ItemSet { range: Range(958, 971), items: [962], want_response: false }, ItemSet { range: Range(399, 414), items: [399, 411], want_response: true }, ItemSet { range: Range(414, 424), items: [414], want_response: true }, ItemSet { range: Range(424, 453), items: [444], want_response: true }], wants: [24, 29, 50, 55, 63, 67, 120, 130, 221, 225, 229, 237, 250, 258, 307, 308, 309, 315, 316, 321, 334, 343, 358, 383, 520, 524, 532, 541, 545, 563, 587, 591, 595, 619, 621, 802, 818, 843, 852, 863, 864, 865, 866, 872, 883, 890, 891, 910, 922, 926, 934, 939, 82, 83, 101, 156, 175, 183, 194, 198, 199, 202, 387, 389, 461, 464, 474, 635, 636, 640, 670, 679, 707, 708, 739, 753, 758, 765, 774, 943, 947, 958], provide: [(38, true), (61, true), (71, true), (76, true), (142, true), (226, true), (298, true), (332, true), (356, true), (523, true), (534, true), (572, true), (618, true), (627, true), (783, true), (785, true), (850, true), (868, true), (919, true), (928, true), (935, true), (937, true), (971, true), (976, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(399, 414), items: [], want_response: false }, ItemSet { range: Range(414, 424), items: [414, 418, 421], want_response: false }, ItemSet { range: Range(424, 453), items: [424, 431, 449], want_response: false }], wants: [99, 108, 118, 145, 153, 176, 190, 208, 209, 391, 395, 398, 453, 454, 458, 462, 489, 498, 502, 639, 643, 652, 653, 657, 665, 673, 680, 712, 717, 719, 725, 749, 761, 763, 777, 780, 940, 956, 962, 399, 411, 444], provide: [(24, true), (29, true), (50, true), (55, true), (63, true), (67, true), (120, true), (130, true), (221, true), (225, true), (229, true), (237, true), (250, true), (258, true), (307, true), (308, true), (309, true), (315, true), (316, true), (321, true), (334, true), (343, true), (358, true), (383, true), (520, true), (524, true), (532, true), (541, true), (545, true), (563, true), (587, true), (591, true), (595, true), (619, true), (621, true), (802, true), (818, true), (843, true), (852, true), (863, true), (864, true), (865, true), (866, true), (872, true), (883, true), (890, true), (891, true), (910, true), (922, true), (926, true), (934, true), (939, true), (82, true), (83, true), (101, true), (156, true), (175, true), (183, true), (194, true), (198, true), (199, true), (202, true), (387, true), (389, true), (461, true), (464, true), (474, true), (635, true), (636, true), (640, true), (670, true), (679, true), (707, true), (708, true), (739, true), (753, true), (758, true), (765, true), (774, true), (943, true), (947, true), (958, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [418, 421, 424, 431, 449], provide: [(99, true), (108, true), (118, true), (145, true), (153, true), (176, true), (190, true), (208, true), (209, true), (391, true), (395, true), (398, true), (453, true), (454, true), (458, true), (462, true), (489, true), (498, true), (502, true), (639, true), (643, true), (652, true), (653, true), (657, true), (665, true), (673, true), (680, true), (712, true), (717, true), (719, true), (725, true), (749, true), (761, true), (763, true), (777, true), (780, true), (940, true), (956, true), (962, true), (399, true), (411, true), (444, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(418, true), (421, true), (424, true), (431, true), (449, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {24, 29, 50, 55, 63, 67, 82, 83, 101, 119, 120, 130, 156, 175, 183, 194, 198, 199, 202, 221, 225, 229, 237, 250, 258, 307, 308, 309, 315, 316, 321, 334, 343, 358, 383, 387, 389, 393, 414, 418, 421, 424, 431, 449, 461, 464, 467, 474, 520, 524, 532, 541, 545, 563, 587, 591, 595, 619, 621, 635, 636, 640, 670, 679, 707, 708, 727, 739, 753, 758, 765, 774, 779, 802, 818, 843, 852, 863, 864, 865, 866, 872, 883, 890, 891, 910, 922, 926, 934, 939, 943, 947, 958, 990, 997} + [998, 3, 20, 38, 61, 71, 76, 142, 226, 298, 332, 356, 523, 534, 572, 618, 627, 783, 785, 850, 868, 919, 928, 935, 937, 971, 976, 99, 108, 118, 145, 153, 176, 190, 208, 209, 391, 395, 398, 453, 454, 458, 462, 489, 498, 502, 639, 643, 652, 653, 657, 665, 673, 680, 712, 717, 719, 725, 749, 761, 763, 777, 780, 940, 956, 962, 399, 411, 444] [INFO] [stdout] b all: {3, 20, 38, 61, 71, 76, 99, 108, 118, 119, 142, 145, 153, 176, 190, 208, 209, 226, 298, 332, 356, 391, 393, 395, 398, 399, 411, 414, 444, 453, 454, 458, 462, 467, 489, 498, 502, 523, 534, 572, 618, 627, 639, 643, 652, 653, 657, 665, 673, 680, 712, 717, 719, 725, 727, 749, 761, 763, 777, 779, 780, 783, 785, 850, 868, 919, 928, 935, 937, 940, 956, 962, 971, 976, 998} + [990, 997, 24, 29, 50, 55, 63, 67, 120, 130, 221, 225, 229, 237, 250, 258, 307, 308, 309, 315, 316, 321, 334, 343, 358, 383, 520, 524, 532, 541, 545, 563, 587, 591, 595, 619, 621, 802, 818, 843, 852, 863, 864, 865, 866, 872, 883, 890, 891, 910, 922, 926, 934, 939, 82, 83, 101, 156, 175, 183, 194, 198, 199, 202, 387, 389, 461, 464, 474, 635, 636, 640, 670, 679, 707, 708, 739, 753, 758, 765, 774, 943, 947, 958, 418, 421, 424, 431, 449] [INFO] [stdout] [INFO] [stdout] all vec: [3, 20, 24, 29, 38, 50, 55, 61, 63, 67, 71, 76, 82, 83, 99, 101, 108, 118, 119, 120, 130, 142, 145, 153, 156, 175, 176, 183, 190, 194, 198, 199, 202, 208, 209, 221, 225, 226, 229, 237, 250, 258, 298, 307, 308, 309, 315, 316, 321, 332, 334, 343, 356, 358, 383, 387, 389, 391, 393, 395, 398, 399, 411, 414, 418, 421, 424, 431, 444, 449, 453, 454, 458, 461, 462, 464, 467, 474, 489, 498, 502, 520, 523, 524, 532, 534, 541, 545, 563, 572, 587, 591, 595, 618, 619, 621, 627, 635, 636, 639, 640, 643, 652, 653, 657, 665, 670, 673, 679, 680, 707, 708, 712, 717, 719, 725, 727, 739, 749, 753, 758, 761, 763, 765, 774, 777, 779, 780, 783, 785, 802, 818, 843, 850, 852, 863, 864, 865, 866, 868, 872, 883, 890, 891, 910, 919, 922, 926, 928, 934, 935, 937, 939, 940, 943, 947, 956, 958, 962, 971, 976, 990, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 20, 24, 29, 38, 50, 55, 61, 63, 67, 71, 76, 82, 83, 99, 101, 108, 118, 119, 120, 130, 142, 145, 153, 156, 175, 176, 183, 190, 194, 198, 199, 202, 208, 209, 221, 225, 226, 229, 237, 250, 258, 298, 307, 308, 309, 315, 316, 321, 332, 334, 343, 356, 358, 383, 387, 389, 391, 393, 395, 398, 399, 411, 414, 418, 421, 424, 431, 444, 449, 453, 454, 458, 461, 462, 464, 467, 474, 489, 498, 502, 520, 523, 524, 532, 534, 541, 545, 563, 572, 587, 591, 595, 618, 619, 621, 627, 635, 636, 639, 640, 643, 652, 653, 657, 665, 670, 673, 679, 680, 707, 708, 712, 717, 719, 725, 727, 739, 749, 753, 758, 761, 763, 765, 774, 777, 779, 780, 783, 785, 802, 818, 843, 850, 852, 863, 864, 865, 866, 868, 872, 883, 890, 891, 910, 919, 922, 926, 928, 934, 935, 937, 939, 940, 943, 947, 956, 958, 962, 971, 976, 990, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 20, 24, 29, 38, 50, 55, 61, 63, 67, 71, 76, 82, 83, 99, 101, 108, 118, 119, 120, 130, 142, 145, 153, 156, 175, 176, 183, 190, 194, 198, 199, 202, 208, 209, 221, 225, 226, 229, 237, 250, 258, 298, 307, 308, 309, 315, 316, 321, 332, 334, 343, 356, 358, 383, 387, 389, 391, 393, 395, 398, 399, 411, 414, 418, 421, 424, 431, 444, 449, 453, 454, 458, 461, 462, 464, 467, 474, 489, 498, 502, 520, 523, 524, 532, 534, 541, 545, 563, 572, 587, 591, 595, 618, 619, 621, 627, 635, 636, 639, 640, 643, 652, 653, 657, 665, 670, 673, 679, 680, 707, 708, 712, 717, 719, 725, 727, 739, 749, 753, 758, 761, 763, 765, 774, 777, 779, 780, 783, 785, 802, 818, 843, 850, 852, 863, 864, 865, 866, 868, 872, 883, 890, 891, 910, 919, 922, 926, 928, 934, 935, 937, 939, 940, 943, 947, 956, 958, 962, 971, 976, 990, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {13, 33, 37, 71, 138, 149, 158, 162, 165, 170, 234, 236, 245, 248, 285, 290, 306, 307, 322, 332, 338, 346, 381, 386, 392, 415, 519, 521, 525, 529, 536, 565, 620, 628, 644, 649, 650, 654, 666, 667, 668, 679, 683, 711, 758, 763, 776, 795, 801, 821, 824, 859, 860, 903, 973} [INFO] [stdout] b items: {13, 29, 112, 245, 277, 350, 429, 444, 469, 563, 631, 673, 674, 682, 778, 962, 964} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(13, 974), fp: EncodedCountingMonoid(55, SumMonoid(26406)) }], item_sets: [ItemSet { range: Range(974, 13), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(13, 563), fp: EncodedCountingMonoid(9, SumMonoid(2368)) }, Fingerprint { range: Range(563, 974), fp: EncodedCountingMonoid(8, SumMonoid(5927)) }], item_sets: [ItemSet { range: Range(974, 13), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(13, 306), fp: EncodedCountingMonoid(16, SumMonoid(2634)) }, Fingerprint { range: Range(306, 563), fp: EncodedCountingMonoid(15, SumMonoid(6155)) }, Fingerprint { range: Range(563, 711), fp: EncodedCountingMonoid(12, SumMonoid(7773)) }, Fingerprint { range: Range(711, 974), fp: EncodedCountingMonoid(12, SumMonoid(9844)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(13, 245), fp: EncodedCountingMonoid(3, SumMonoid(154)) }, Fingerprint { range: Range(563, 674), fp: EncodedCountingMonoid(3, SumMonoid(1867)) }], item_sets: [ItemSet { range: Range(245, 306), items: [245, 277], want_response: true }, ItemSet { range: Range(306, 444), items: [350, 429], want_response: true }, ItemSet { range: Range(444, 563), items: [444, 469], want_response: true }, ItemSet { range: Range(674, 711), items: [674, 682], want_response: true }, ItemSet { range: Range(711, 964), items: [778, 962], want_response: true }, ItemSet { range: Range(964, 974), items: [964], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(13, 158), fp: EncodedCountingMonoid(6, SumMonoid(441)) }, Fingerprint { range: Range(158, 245), fp: EncodedCountingMonoid(6, SumMonoid(1125)) }, Fingerprint { range: Range(563, 650), fp: EncodedCountingMonoid(5, SumMonoid(3106)) }, Fingerprint { range: Range(650, 674), fp: EncodedCountingMonoid(5, SumMonoid(3305)) }], item_sets: [ItemSet { range: Range(245, 306), items: [245, 248, 285, 290], want_response: false }, ItemSet { range: Range(306, 444), items: [306, 307, 322, 332, 338, 346, 381, 386, 392, 415], want_response: false }, ItemSet { range: Range(444, 563), items: [519, 521, 525, 529, 536], want_response: false }, ItemSet { range: Range(674, 711), items: [679, 683], want_response: false }, ItemSet { range: Range(711, 964), items: [711, 758, 763, 776, 795, 801, 821, 824, 859, 860, 903], want_response: false }, ItemSet { range: Range(964, 974), items: [973], want_response: false }], wants: [277, 350, 429, 444, 469, 674, 682, 778, 962, 964], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(13, 112), items: [13, 29], want_response: true }, ItemSet { range: Range(112, 158), items: [112], want_response: true }, ItemSet { range: Range(158, 245), items: [], want_response: true }, ItemSet { range: Range(563, 650), items: [563, 631], want_response: true }, ItemSet { range: Range(650, 674), items: [673], want_response: true }], wants: [248, 285, 290, 306, 307, 322, 332, 338, 346, 381, 386, 392, 415, 519, 521, 525, 529, 536, 679, 683, 711, 758, 763, 776, 795, 801, 821, 824, 859, 860, 903, 973], provide: [(277, true), (350, true), (429, true), (444, true), (469, true), (674, true), (682, true), (778, true), (962, true), (964, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(13, 112), items: [13, 33, 37, 71], want_response: false }, ItemSet { range: Range(112, 158), items: [138, 149], want_response: false }, ItemSet { range: Range(158, 245), items: [158, 162, 165, 170, 234, 236], want_response: false }, ItemSet { range: Range(563, 650), items: [565, 620, 628, 644, 649], want_response: false }, ItemSet { range: Range(650, 674), items: [650, 654, 666, 667, 668], want_response: false }], wants: [29, 112, 563, 631, 673], provide: [(248, true), (285, true), (290, true), (306, true), (307, true), (322, true), (332, true), (338, true), (346, true), (381, true), (386, true), (392, true), (415, true), (519, true), (521, true), (525, true), (529, true), (536, true), (679, true), (683, true), (711, true), (758, true), (763, true), (776, true), (795, true), (801, true), (821, true), (824, true), (859, true), (860, true), (903, true), (973, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [33, 37, 71, 138, 149, 158, 162, 165, 170, 234, 236, 565, 620, 628, 644, 649, 650, 654, 666, 667, 668], provide: [(29, true), (112, true), (563, true), (631, true), (673, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(33, true), (37, true), (71, true), (138, true), (149, true), (158, true), (162, true), (165, true), (170, true), (234, true), (236, true), (565, true), (620, true), (628, true), (644, true), (649, true), (650, true), (654, true), (666, true), (667, true), (668, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {13, 33, 37, 71, 138, 149, 158, 162, 165, 170, 234, 236, 245, 248, 285, 290, 306, 307, 322, 332, 338, 346, 381, 386, 392, 415, 519, 521, 525, 529, 536, 565, 620, 628, 644, 649, 650, 654, 666, 667, 668, 679, 683, 711, 758, 763, 776, 795, 801, 821, 824, 859, 860, 903, 973} + [277, 350, 429, 444, 469, 674, 682, 778, 962, 964, 29, 112, 563, 631, 673] [INFO] [stdout] b all: {13, 29, 112, 245, 277, 350, 429, 444, 469, 563, 631, 673, 674, 682, 778, 962, 964} + [248, 285, 290, 306, 307, 322, 332, 338, 346, 381, 386, 392, 415, 519, 521, 525, 529, 536, 679, 683, 711, 758, 763, 776, 795, 801, 821, 824, 859, 860, 903, 973, 33, 37, 71, 138, 149, 158, 162, 165, 170, 234, 236, 565, 620, 628, 644, 649, 650, 654, 666, 667, 668] [INFO] [stdout] [INFO] [stdout] all vec: [13, 29, 33, 37, 71, 112, 138, 149, 158, 162, 165, 170, 234, 236, 245, 248, 277, 285, 290, 306, 307, 322, 332, 338, 346, 350, 381, 386, 392, 415, 429, 444, 469, 519, 521, 525, 529, 536, 563, 565, 620, 628, 631, 644, 649, 650, 654, 666, 667, 668, 673, 674, 679, 682, 683, 711, 758, 763, 776, 778, 795, 801, 821, 824, 859, 860, 903, 962, 964, 973] [INFO] [stdout] [INFO] [stdout] a all vec: [13, 29, 33, 37, 71, 112, 138, 149, 158, 162, 165, 170, 234, 236, 245, 248, 277, 285, 290, 306, 307, 322, 332, 338, 346, 350, 381, 386, 392, 415, 429, 444, 469, 519, 521, 525, 529, 536, 563, 565, 620, 628, 631, 644, 649, 650, 654, 666, 667, 668, 673, 674, 679, 682, 683, 711, 758, 763, 776, 778, 795, 801, 821, 824, 859, 860, 903, 962, 964, 973], true true [INFO] [stdout] [INFO] [stdout] b all vec: [13, 29, 33, 37, 71, 112, 138, 149, 158, 162, 165, 170, 234, 236, 245, 248, 277, 285, 290, 306, 307, 322, 332, 338, 346, 350, 381, 386, 392, 415, 429, 444, 469, 519, 521, 525, 529, 536, 563, 565, 620, 628, 631, 644, 649, 650, 654, 666, 667, 668, 673, 674, 679, 682, 683, 711, 758, 763, 776, 778, 795, 801, 821, 824, 859, 860, 903, 962, 964, 973], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 21, 26, 43, 48, 61, 92, 100, 116, 117, 128, 139, 141, 144, 148, 157, 165, 178, 195, 257, 259, 282, 287, 299, 319, 325, 330, 332, 340, 350, 379, 381, 395, 421, 441, 488, 503, 574, 576, 581, 586, 592, 603, 605, 617, 629, 630, 636, 642, 644, 671, 674, 703, 706, 729, 732, 739, 776, 783, 795, 805, 807, 812, 828, 871, 879, 894, 896, 899, 902, 905, 909, 920, 956, 957, 965, 973, 974, 978, 982, 988} [INFO] [stdout] b items: {14, 39, 55, 76, 93, 116, 117, 124, 150, 157, 179, 180, 188, 192, 201, 208, 211, 223, 232, 276, 283, 295, 299, 384, 398, 417, 450, 464, 506, 537, 539, 544, 570, 580, 595, 604, 616, 625, 639, 648, 731, 743, 744, 751, 763, 765, 768, 769, 778, 779, 803, 827, 834, 842, 868, 872, 889, 924, 936, 953, 970, 972, 974, 989} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 989), fp: EncodedCountingMonoid(81, SumMonoid(42746)) }], item_sets: [ItemSet { range: Range(989, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 570), fp: EncodedCountingMonoid(31, SumMonoid(8133)) }, Fingerprint { range: Range(570, 989), fp: EncodedCountingMonoid(31, SumMonoid(24132)) }], item_sets: [ItemSet { range: Range(989, 16), items: [989, 14], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 257), fp: EncodedCountingMonoid(19, SumMonoid(2035)) }, Fingerprint { range: Range(257, 570), fp: EncodedCountingMonoid(18, SumMonoid(6388)) }, Fingerprint { range: Range(570, 795), fp: EncodedCountingMonoid(22, SumMonoid(14428)) }, Fingerprint { range: Range(795, 989), fp: EncodedCountingMonoid(22, SumMonoid(19895)) }], item_sets: [], wants: [989, 14], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 179), fp: EncodedCountingMonoid(9, SumMonoid(927)) }, Fingerprint { range: Range(179, 257), fp: EncodedCountingMonoid(9, SumMonoid(1814)) }, Fingerprint { range: Range(257, 450), fp: EncodedCountingMonoid(7, SumMonoid(2352)) }, Fingerprint { range: Range(450, 570), fp: EncodedCountingMonoid(6, SumMonoid(3040)) }, Fingerprint { range: Range(570, 743), fp: EncodedCountingMonoid(9, SumMonoid(5608)) }, Fingerprint { range: Range(743, 795), fp: EncodedCountingMonoid(9, SumMonoid(6860)) }, Fingerprint { range: Range(795, 924), fp: EncodedCountingMonoid(7, SumMonoid(5935)) }, Fingerprint { range: Range(924, 989), fp: EncodedCountingMonoid(6, SumMonoid(5729)) }], item_sets: [], wants: [], provide: [(989, true), (14, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 117), fp: EncodedCountingMonoid(9, SumMonoid(523)) }, Fingerprint { range: Range(117, 179), fp: EncodedCountingMonoid(9, SumMonoid(1317)) }, Fingerprint { range: Range(257, 332), fp: EncodedCountingMonoid(8, SumMonoid(2358)) }, Fingerprint { range: Range(332, 450), fp: EncodedCountingMonoid(8, SumMonoid(3039)) }, Fingerprint { range: Range(570, 636), fp: EncodedCountingMonoid(10, SumMonoid(5993)) }, Fingerprint { range: Range(636, 743), fp: EncodedCountingMonoid(10, SumMonoid(6876)) }, Fingerprint { range: Range(795, 894), fp: EncodedCountingMonoid(7, SumMonoid(5797)) }, Fingerprint { range: Range(894, 924), fp: EncodedCountingMonoid(7, SumMonoid(6325)) }, Fingerprint { range: Range(924, 974), fp: EncodedCountingMonoid(4, SumMonoid(3851)) }, Fingerprint { range: Range(974, 989), fp: EncodedCountingMonoid(4, SumMonoid(3922)) }], item_sets: [ItemSet { range: Range(179, 257), items: [195], want_response: true }, ItemSet { range: Range(450, 570), items: [488, 503], want_response: true }, ItemSet { range: Range(743, 795), items: [776, 783], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 93), fp: EncodedCountingMonoid(3, SumMonoid(170)) }, Fingerprint { range: Range(570, 604), fp: EncodedCountingMonoid(3, SumMonoid(1745)) }, Fingerprint { range: Range(604, 636), fp: EncodedCountingMonoid(3, SumMonoid(1845)) }, Fingerprint { range: Range(795, 868), fp: EncodedCountingMonoid(4, SumMonoid(3306)) }, Fingerprint { range: Range(868, 894), fp: EncodedCountingMonoid(3, SumMonoid(2629)) }, Fingerprint { range: Range(924, 970), fp: EncodedCountingMonoid(3, SumMonoid(2813)) }], item_sets: [ItemSet { range: Range(179, 257), items: [179, 180, 188, 192, 201, 208, 211, 223, 232], want_response: false }, ItemSet { range: Range(450, 570), items: [450, 464, 506, 537, 539, 544], want_response: false }, ItemSet { range: Range(743, 795), items: [743, 744, 751, 763, 765, 768, 769, 778, 779], want_response: false }, ItemSet { range: Range(93, 117), items: [93, 116], want_response: true }, ItemSet { range: Range(117, 150), items: [117, 124], want_response: true }, ItemSet { range: Range(150, 179), items: [150, 157], want_response: true }, ItemSet { range: Range(257, 295), items: [276, 283], want_response: true }, ItemSet { range: Range(295, 332), items: [295, 299], want_response: true }, ItemSet { range: Range(332, 417), items: [384, 398], want_response: true }, ItemSet { range: Range(417, 450), items: [417], want_response: true }, ItemSet { range: Range(636, 731), items: [639, 648], want_response: true }, ItemSet { range: Range(731, 743), items: [731], want_response: true }, ItemSet { range: Range(894, 924), items: [], want_response: true }, ItemSet { range: Range(970, 974), items: [970, 972], want_response: true }, ItemSet { range: Range(974, 989), items: [974], want_response: true }], wants: [195, 488, 503, 776, 783], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 48), fp: EncodedCountingMonoid(4, SumMonoid(106)) }, Fingerprint { range: Range(48, 93), fp: EncodedCountingMonoid(3, SumMonoid(201)) }, Fingerprint { range: Range(570, 586), fp: EncodedCountingMonoid(3, SumMonoid(1731)) }, Fingerprint { range: Range(586, 604), fp: EncodedCountingMonoid(3, SumMonoid(1781)) }, Fingerprint { range: Range(795, 812), fp: EncodedCountingMonoid(3, SumMonoid(2407)) }], item_sets: [ItemSet { range: Range(93, 117), items: [100, 116], want_response: false }, ItemSet { range: Range(117, 150), items: [117, 128, 139, 141, 144, 148], want_response: false }, ItemSet { range: Range(150, 179), items: [157, 165, 178], want_response: false }, ItemSet { range: Range(257, 295), items: [257, 259, 282, 287], want_response: false }, ItemSet { range: Range(295, 332), items: [299, 319, 325, 330], want_response: false }, ItemSet { range: Range(332, 417), items: [332, 340, 350, 379, 381, 395], want_response: false }, ItemSet { range: Range(417, 450), items: [421, 441], want_response: false }, ItemSet { range: Range(636, 731), items: [636, 642, 644, 671, 674, 703, 706, 729], want_response: false }, ItemSet { range: Range(731, 743), items: [732, 739], want_response: false }, ItemSet { range: Range(894, 924), items: [894, 896, 899, 902, 905, 909, 920], want_response: false }, ItemSet { range: Range(970, 974), items: [973], want_response: false }, ItemSet { range: Range(974, 989), items: [974, 978, 982, 988], want_response: false }, ItemSet { range: Range(604, 629), items: [605, 617], want_response: true }, ItemSet { range: Range(629, 636), items: [629, 630], want_response: true }, ItemSet { range: Range(812, 868), items: [812, 828], want_response: true }, ItemSet { range: Range(868, 894), items: [871, 879], want_response: true }, ItemSet { range: Range(924, 965), items: [956, 957], want_response: true }, ItemSet { range: Range(965, 970), items: [965], want_response: true }], wants: [179, 180, 188, 192, 201, 208, 211, 223, 232, 450, 464, 506, 537, 539, 544, 743, 744, 751, 763, 765, 768, 769, 778, 779, 93, 124, 150, 276, 283, 295, 384, 398, 417, 639, 648, 731, 970, 972], provide: [(195, true), (488, true), (503, true), (776, true), (783, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(604, 629), items: [604, 616, 625], want_response: false }, ItemSet { range: Range(629, 636), items: [], want_response: false }, ItemSet { range: Range(812, 868), items: [827, 834, 842], want_response: false }, ItemSet { range: Range(868, 894), items: [868, 872, 889], want_response: false }, ItemSet { range: Range(924, 965), items: [924, 936, 953], want_response: false }, ItemSet { range: Range(965, 970), items: [], want_response: false }, ItemSet { range: Range(16, 48), items: [39], want_response: true }, ItemSet { range: Range(48, 93), items: [55, 76], want_response: true }, ItemSet { range: Range(570, 586), items: [570, 580], want_response: true }, ItemSet { range: Range(586, 604), items: [595], want_response: true }, ItemSet { range: Range(795, 812), items: [803], want_response: true }], wants: [100, 128, 139, 141, 144, 148, 165, 178, 257, 259, 282, 287, 319, 325, 330, 332, 340, 350, 379, 381, 395, 421, 441, 636, 642, 644, 671, 674, 703, 706, 729, 732, 739, 894, 896, 899, 902, 905, 909, 920, 973, 978, 982, 988, 605, 617, 629, 630, 812, 828, 871, 879, 956, 957, 965], provide: [(179, true), (180, true), (188, true), (192, true), (201, true), (208, true), (211, true), (223, true), (232, true), (450, true), (464, true), (506, true), (537, true), (539, true), (544, true), (743, true), (744, true), (751, true), (763, true), (765, true), (768, true), (769, true), (778, true), (779, true), (93, true), (124, true), (150, true), (276, true), (283, true), (295, true), (384, true), (398, true), (417, true), (639, true), (648, true), (731, true), (970, true), (972, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(16, 48), items: [16, 21, 26, 43], want_response: false }, ItemSet { range: Range(48, 93), items: [48, 61, 92], want_response: false }, ItemSet { range: Range(570, 586), items: [574, 576, 581], want_response: false }, ItemSet { range: Range(586, 604), items: [586, 592, 603], want_response: false }, ItemSet { range: Range(795, 812), items: [795, 805, 807], want_response: false }], wants: [604, 616, 625, 827, 834, 842, 868, 872, 889, 924, 936, 953, 39, 55, 76, 570, 580, 595, 803], provide: [(100, true), (128, true), (139, true), (141, true), (144, true), (148, true), (165, true), (178, true), (257, true), (259, true), (282, true), (287, true), (319, true), (325, true), (330, true), (332, true), (340, true), (350, true), (379, true), (381, true), (395, true), (421, true), (441, true), (636, true), (642, true), (644, true), (671, true), (674, true), (703, true), (706, true), (729, true), (732, true), (739, true), (894, true), (896, true), (899, true), (902, true), (905, true), (909, true), (920, true), (973, true), (978, true), (982, true), (988, true), (605, true), (617, true), (629, true), (630, true), (812, true), (828, true), (871, true), (879, true), (956, true), (957, true), (965, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [16, 21, 26, 43, 48, 61, 92, 574, 576, 581, 586, 592, 603, 795, 805, 807], provide: [(604, true), (616, true), (625, true), (827, true), (834, true), (842, true), (868, true), (872, true), (889, true), (924, true), (936, true), (953, true), (39, true), (55, true), (76, true), (570, true), (580, true), (595, true), (803, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(16, true), (21, true), (26, true), (43, true), (48, true), (61, true), (92, true), (574, true), (576, true), (581, true), (586, true), (592, true), (603, true), (795, true), (805, true), (807, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 21, 26, 43, 48, 61, 92, 100, 116, 117, 128, 139, 141, 144, 148, 157, 165, 178, 195, 257, 259, 282, 287, 299, 319, 325, 330, 332, 340, 350, 379, 381, 395, 421, 441, 488, 503, 574, 576, 581, 586, 592, 603, 605, 617, 629, 630, 636, 642, 644, 671, 674, 703, 706, 729, 732, 739, 776, 783, 795, 805, 807, 812, 828, 871, 879, 894, 896, 899, 902, 905, 909, 920, 956, 957, 965, 973, 974, 978, 982, 988} + [989, 14, 179, 180, 188, 192, 201, 208, 211, 223, 232, 450, 464, 506, 537, 539, 544, 743, 744, 751, 763, 765, 768, 769, 778, 779, 93, 124, 150, 276, 283, 295, 384, 398, 417, 639, 648, 731, 970, 972, 604, 616, 625, 827, 834, 842, 868, 872, 889, 924, 936, 953, 39, 55, 76, 570, 580, 595, 803] [INFO] [stdout] b all: {14, 39, 55, 76, 93, 116, 117, 124, 150, 157, 179, 180, 188, 192, 201, 208, 211, 223, 232, 276, 283, 295, 299, 384, 398, 417, 450, 464, 506, 537, 539, 544, 570, 580, 595, 604, 616, 625, 639, 648, 731, 743, 744, 751, 763, 765, 768, 769, 778, 779, 803, 827, 834, 842, 868, 872, 889, 924, 936, 953, 970, 972, 974, 989} + [195, 488, 503, 776, 783, 100, 128, 139, 141, 144, 148, 165, 178, 257, 259, 282, 287, 319, 325, 330, 332, 340, 350, 379, 381, 395, 421, 441, 636, 642, 644, 671, 674, 703, 706, 729, 732, 739, 894, 896, 899, 902, 905, 909, 920, 973, 978, 982, 988, 605, 617, 629, 630, 812, 828, 871, 879, 956, 957, 965, 16, 21, 26, 43, 48, 61, 92, 574, 576, 581, 586, 592, 603, 795, 805, 807] [INFO] [stdout] [INFO] [stdout] all vec: [14, 16, 21, 26, 39, 43, 48, 55, 61, 76, 92, 93, 100, 116, 117, 124, 128, 139, 141, 144, 148, 150, 157, 165, 178, 179, 180, 188, 192, 195, 201, 208, 211, 223, 232, 257, 259, 276, 282, 283, 287, 295, 299, 319, 325, 330, 332, 340, 350, 379, 381, 384, 395, 398, 417, 421, 441, 450, 464, 488, 503, 506, 537, 539, 544, 570, 574, 576, 580, 581, 586, 592, 595, 603, 604, 605, 616, 617, 625, 629, 630, 636, 639, 642, 644, 648, 671, 674, 703, 706, 729, 731, 732, 739, 743, 744, 751, 763, 765, 768, 769, 776, 778, 779, 783, 795, 803, 805, 807, 812, 827, 828, 834, 842, 868, 871, 872, 879, 889, 894, 896, 899, 902, 905, 909, 920, 924, 936, 953, 956, 957, 965, 970, 972, 973, 974, 978, 982, 988, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [14, 16, 21, 26, 39, 43, 48, 55, 61, 76, 92, 93, 100, 116, 117, 124, 128, 139, 141, 144, 148, 150, 157, 165, 178, 179, 180, 188, 192, 195, 201, 208, 211, 223, 232, 257, 259, 276, 282, 283, 287, 295, 299, 319, 325, 330, 332, 340, 350, 379, 381, 384, 395, 398, 417, 421, 441, 450, 464, 488, 503, 506, 537, 539, 544, 570, 574, 576, 580, 581, 586, 592, 595, 603, 604, 605, 616, 617, 625, 629, 630, 636, 639, 642, 644, 648, 671, 674, 703, 706, 729, 731, 732, 739, 743, 744, 751, 763, 765, 768, 769, 776, 778, 779, 783, 795, 803, 805, 807, 812, 827, 828, 834, 842, 868, 871, 872, 879, 889, 894, 896, 899, 902, 905, 909, 920, 924, 936, 953, 956, 957, 965, 970, 972, 973, 974, 978, 982, 988, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [14, 16, 21, 26, 39, 43, 48, 55, 61, 76, 92, 93, 100, 116, 117, 124, 128, 139, 141, 144, 148, 150, 157, 165, 178, 179, 180, 188, 192, 195, 201, 208, 211, 223, 232, 257, 259, 276, 282, 283, 287, 295, 299, 319, 325, 330, 332, 340, 350, 379, 381, 384, 395, 398, 417, 421, 441, 450, 464, 488, 503, 506, 537, 539, 544, 570, 574, 576, 580, 581, 586, 592, 595, 603, 604, 605, 616, 617, 625, 629, 630, 636, 639, 642, 644, 648, 671, 674, 703, 706, 729, 731, 732, 739, 743, 744, 751, 763, 765, 768, 769, 776, 778, 779, 783, 795, 803, 805, 807, 812, 827, 828, 834, 842, 868, 871, 872, 879, 889, 894, 896, 899, 902, 905, 909, 920, 924, 936, 953, 956, 957, 965, 970, 972, 973, 974, 978, 982, 988, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {24, 401, 449, 541, 678, 693, 808, 890, 970} [INFO] [stdout] b items: {51, 57, 170, 179, 262, 302, 393, 547, 672, 675, 680, 722, 754, 783, 800, 967} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(24, 971), fp: EncodedCountingMonoid(9, SumMonoid(5454)) }], item_sets: [ItemSet { range: Range(971, 24), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(24, 672), fp: EncodedCountingMonoid(8, SumMonoid(1961)) }, Fingerprint { range: Range(672, 971), fp: EncodedCountingMonoid(8, SumMonoid(6053)) }], item_sets: [ItemSet { range: Range(971, 24), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(672, 890), fp: EncodedCountingMonoid(3, SumMonoid(2179)) }], item_sets: [ItemSet { range: Range(24, 449), items: [24, 401], want_response: true }, ItemSet { range: Range(449, 672), items: [449, 541], want_response: true }, ItemSet { range: Range(890, 971), items: [890, 970], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(672, 754), fp: EncodedCountingMonoid(4, SumMonoid(2749)) }, Fingerprint { range: Range(754, 890), fp: EncodedCountingMonoid(3, SumMonoid(2337)) }], item_sets: [ItemSet { range: Range(24, 449), items: [51, 57, 170, 179, 262, 302, 393], want_response: false }, ItemSet { range: Range(449, 672), items: [547], want_response: false }, ItemSet { range: Range(890, 971), items: [967], want_response: false }], wants: [24, 401, 449, 541, 890, 970], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(672, 754), items: [678, 693], want_response: true }, ItemSet { range: Range(754, 890), items: [808], want_response: true }], wants: [51, 57, 170, 179, 262, 302, 393, 547, 967], provide: [(24, true), (401, true), (449, true), (541, true), (890, true), (970, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(672, 754), items: [672, 675, 680, 722], want_response: false }, ItemSet { range: Range(754, 890), items: [754, 783, 800], want_response: false }], wants: [678, 693, 808], provide: [(51, true), (57, true), (170, true), (179, true), (262, true), (302, true), (393, true), (547, true), (967, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [672, 675, 680, 722, 754, 783, 800], provide: [(678, true), (693, true), (808, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(672, true), (675, true), (680, true), (722, true), (754, true), (783, true), (800, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {24, 401, 449, 541, 678, 693, 808, 890, 970} + [51, 57, 170, 179, 262, 302, 393, 547, 967, 672, 675, 680, 722, 754, 783, 800] [INFO] [stdout] b all: {51, 57, 170, 179, 262, 302, 393, 547, 672, 675, 680, 722, 754, 783, 800, 967} + [24, 401, 449, 541, 890, 970, 678, 693, 808] [INFO] [stdout] [INFO] [stdout] all vec: [24, 51, 57, 170, 179, 262, 302, 393, 401, 449, 541, 547, 672, 675, 678, 680, 693, 722, 754, 783, 800, 808, 890, 967, 970] [INFO] [stdout] [INFO] [stdout] a all vec: [24, 51, 57, 170, 179, 262, 302, 393, 401, 449, 541, 547, 672, 675, 678, 680, 693, 722, 754, 783, 800, 808, 890, 967, 970], true true [INFO] [stdout] [INFO] [stdout] b all vec: [24, 51, 57, 170, 179, 262, 302, 393, 401, 449, 541, 547, 672, 675, 678, 680, 693, 722, 754, 783, 800, 808, 890, 967, 970], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {54, 66, 72, 92, 110, 200, 233, 253, 280, 294, 305, 317, 348, 387, 459, 475, 528, 566, 595, 662, 667, 692, 707, 742, 776, 787, 802, 836, 865, 868, 878, 905, 917, 926, 967, 986, 991} [INFO] [stdout] b items: {5, 9, 19, 40, 51, 55, 88, 106, 138, 144, 173, 227, 250, 258, 286, 314, 324, 339, 364, 368, 497, 594, 675, 684, 710, 714, 728, 741, 756, 757, 774, 791, 795, 806, 812, 843, 879, 912, 927, 930, 946, 970} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(54, 992), fp: EncodedCountingMonoid(37, SumMonoid(20608)) }], item_sets: [ItemSet { range: Range(992, 54), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(54, 710), fp: EncodedCountingMonoid(19, SumMonoid(5884)) }, Fingerprint { range: Range(710, 992), fp: EncodedCountingMonoid(18, SumMonoid(14791)) }], item_sets: [ItemSet { range: Range(992, 54), items: [5, 9, 19, 40, 51], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(54, 348), fp: EncodedCountingMonoid(12, SumMonoid(2276)) }, Fingerprint { range: Range(348, 710), fp: EncodedCountingMonoid(11, SumMonoid(6086)) }, Fingerprint { range: Range(710, 878), fp: EncodedCountingMonoid(7, SumMonoid(5676)) }, Fingerprint { range: Range(878, 992), fp: EncodedCountingMonoid(7, SumMonoid(6570)) }], item_sets: [], wants: [5, 9, 19, 40, 51], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(54, 250), fp: EncodedCountingMonoid(7, SumMonoid(931)) }, Fingerprint { range: Range(250, 348), fp: EncodedCountingMonoid(6, SumMonoid(1771)) }, Fingerprint { range: Range(348, 594), fp: EncodedCountingMonoid(3, SumMonoid(1229)) }, Fingerprint { range: Range(594, 710), fp: EncodedCountingMonoid(3, SumMonoid(1953)) }, Fingerprint { range: Range(710, 774), fp: EncodedCountingMonoid(6, SumMonoid(4406)) }, Fingerprint { range: Range(774, 878), fp: EncodedCountingMonoid(6, SumMonoid(4821)) }, Fingerprint { range: Range(878, 930), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }, Fingerprint { range: Range(930, 992), fp: EncodedCountingMonoid(3, SumMonoid(2846)) }], item_sets: [], wants: [], provide: [(5, true), (9, true), (19, true), (40, true), (51, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(54, 110), fp: EncodedCountingMonoid(4, SumMonoid(284)) }, Fingerprint { range: Range(110, 250), fp: EncodedCountingMonoid(3, SumMonoid(543)) }, Fingerprint { range: Range(250, 305), fp: EncodedCountingMonoid(3, SumMonoid(827)) }, Fingerprint { range: Range(348, 475), fp: EncodedCountingMonoid(3, SumMonoid(1194)) }, Fingerprint { range: Range(475, 594), fp: EncodedCountingMonoid(3, SumMonoid(1569)) }, Fingerprint { range: Range(594, 692), fp: EncodedCountingMonoid(3, SumMonoid(1924)) }, Fingerprint { range: Range(774, 836), fp: EncodedCountingMonoid(3, SumMonoid(2365)) }, Fingerprint { range: Range(836, 878), fp: EncodedCountingMonoid(3, SumMonoid(2569)) }], item_sets: [ItemSet { range: Range(305, 348), items: [305, 317], want_response: true }, ItemSet { range: Range(692, 710), items: [692, 707], want_response: true }, ItemSet { range: Range(710, 774), items: [742], want_response: true }, ItemSet { range: Range(878, 917), items: [878, 905], want_response: true }, ItemSet { range: Range(917, 930), items: [917, 926], want_response: true }, ItemSet { range: Range(930, 991), items: [967, 986], want_response: true }, ItemSet { range: Range(991, 992), items: [991], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(774, 806), fp: EncodedCountingMonoid(3, SumMonoid(2360)) }], item_sets: [ItemSet { range: Range(305, 348), items: [314, 324, 339], want_response: false }, ItemSet { range: Range(692, 710), items: [], want_response: false }, ItemSet { range: Range(710, 774), items: [710, 714, 728, 741, 756, 757], want_response: false }, ItemSet { range: Range(878, 917), items: [879, 912], want_response: false }, ItemSet { range: Range(917, 930), items: [927], want_response: false }, ItemSet { range: Range(930, 991), items: [930, 946, 970], want_response: false }, ItemSet { range: Range(991, 992), items: [], want_response: false }, ItemSet { range: Range(54, 106), items: [55, 88], want_response: true }, ItemSet { range: Range(106, 110), items: [106], want_response: true }, ItemSet { range: Range(110, 173), items: [138, 144], want_response: true }, ItemSet { range: Range(173, 250), items: [173, 227], want_response: true }, ItemSet { range: Range(250, 286), items: [250, 258], want_response: true }, ItemSet { range: Range(286, 305), items: [286], want_response: true }, ItemSet { range: Range(348, 475), items: [364, 368], want_response: true }, ItemSet { range: Range(475, 594), items: [497], want_response: true }, ItemSet { range: Range(594, 684), items: [594, 675], want_response: true }, ItemSet { range: Range(684, 692), items: [684], want_response: true }, ItemSet { range: Range(806, 836), items: [806, 812], want_response: true }, ItemSet { range: Range(836, 878), items: [843], want_response: true }], wants: [305, 317, 692, 707, 742, 878, 905, 917, 926, 967, 986, 991], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(54, 106), items: [54, 66, 72, 92], want_response: false }, ItemSet { range: Range(106, 110), items: [], want_response: false }, ItemSet { range: Range(110, 173), items: [110], want_response: false }, ItemSet { range: Range(173, 250), items: [200, 233], want_response: false }, ItemSet { range: Range(250, 286), items: [253, 280], want_response: false }, ItemSet { range: Range(286, 305), items: [294], want_response: false }, ItemSet { range: Range(348, 475), items: [348, 387, 459], want_response: false }, ItemSet { range: Range(475, 594), items: [475, 528, 566], want_response: false }, ItemSet { range: Range(594, 684), items: [595, 662, 667], want_response: false }, ItemSet { range: Range(684, 692), items: [], want_response: false }, ItemSet { range: Range(806, 836), items: [], want_response: false }, ItemSet { range: Range(836, 878), items: [836, 865, 868], want_response: false }, ItemSet { range: Range(774, 802), items: [776, 787], want_response: true }, ItemSet { range: Range(802, 806), items: [802], want_response: true }], wants: [314, 324, 339, 710, 714, 728, 741, 756, 757, 879, 912, 927, 930, 946, 970, 55, 88, 106, 138, 144, 173, 227, 250, 258, 286, 364, 368, 497, 594, 675, 684, 806, 812, 843], provide: [(305, true), (317, true), (692, true), (707, true), (742, true), (878, true), (905, true), (917, true), (926, true), (967, true), (986, true), (991, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(774, 802), items: [774, 791, 795], want_response: false }, ItemSet { range: Range(802, 806), items: [], want_response: false }], wants: [54, 66, 72, 92, 110, 200, 233, 253, 280, 294, 348, 387, 459, 475, 528, 566, 595, 662, 667, 836, 865, 868, 776, 787, 802], provide: [(314, true), (324, true), (339, true), (710, true), (714, true), (728, true), (741, true), (756, true), (757, true), (879, true), (912, true), (927, true), (930, true), (946, true), (970, true), (55, true), (88, true), (106, true), (138, true), (144, true), (173, true), (227, true), (250, true), (258, true), (286, true), (364, true), (368, true), (497, true), (594, true), (675, true), (684, true), (806, true), (812, true), (843, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [774, 791, 795], provide: [(54, true), (66, true), (72, true), (92, true), (110, true), (200, true), (233, true), (253, true), (280, true), (294, true), (348, true), (387, true), (459, true), (475, true), (528, true), (566, true), (595, true), (662, true), (667, true), (836, true), (865, true), (868, true), (776, true), (787, true), (802, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(774, true), (791, true), (795, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {54, 66, 72, 92, 110, 200, 233, 253, 280, 294, 305, 317, 348, 387, 459, 475, 528, 566, 595, 662, 667, 692, 707, 742, 776, 787, 802, 836, 865, 868, 878, 905, 917, 926, 967, 986, 991} + [5, 9, 19, 40, 51, 314, 324, 339, 710, 714, 728, 741, 756, 757, 879, 912, 927, 930, 946, 970, 55, 88, 106, 138, 144, 173, 227, 250, 258, 286, 364, 368, 497, 594, 675, 684, 806, 812, 843, 774, 791, 795] [INFO] [stdout] b all: {5, 9, 19, 40, 51, 55, 88, 106, 138, 144, 173, 227, 250, 258, 286, 314, 324, 339, 364, 368, 497, 594, 675, 684, 710, 714, 728, 741, 756, 757, 774, 791, 795, 806, 812, 843, 879, 912, 927, 930, 946, 970} + [305, 317, 692, 707, 742, 878, 905, 917, 926, 967, 986, 991, 54, 66, 72, 92, 110, 200, 233, 253, 280, 294, 348, 387, 459, 475, 528, 566, 595, 662, 667, 836, 865, 868, 776, 787, 802] [INFO] [stdout] [INFO] [stdout] all vec: [5, 9, 19, 40, 51, 54, 55, 66, 72, 88, 92, 106, 110, 138, 144, 173, 200, 227, 233, 250, 253, 258, 280, 286, 294, 305, 314, 317, 324, 339, 348, 364, 368, 387, 459, 475, 497, 528, 566, 594, 595, 662, 667, 675, 684, 692, 707, 710, 714, 728, 741, 742, 756, 757, 774, 776, 787, 791, 795, 802, 806, 812, 836, 843, 865, 868, 878, 879, 905, 912, 917, 926, 927, 930, 946, 967, 970, 986, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 9, 19, 40, 51, 54, 55, 66, 72, 88, 92, 106, 110, 138, 144, 173, 200, 227, 233, 250, 253, 258, 280, 286, 294, 305, 314, 317, 324, 339, 348, 364, 368, 387, 459, 475, 497, 528, 566, 594, 595, 662, 667, 675, 684, 692, 707, 710, 714, 728, 741, 742, 756, 757, 774, 776, 787, 791, 795, 802, 806, 812, 836, 843, 865, 868, 878, 879, 905, 912, 917, 926, 927, 930, 946, 967, 970, 986, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 9, 19, 40, 51, 54, 55, 66, 72, 88, 92, 106, 110, 138, 144, 173, 200, 227, 233, 250, 253, 258, 280, 286, 294, 305, 314, 317, 324, 339, 348, 364, 368, 387, 459, 475, 497, 528, 566, 594, 595, 662, 667, 675, 684, 692, 707, 710, 714, 728, 741, 742, 756, 757, 774, 776, 787, 791, 795, 802, 806, 812, 836, 843, 865, 868, 878, 879, 905, 912, 917, 926, 927, 930, 946, 967, 970, 986, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 20, 49, 146, 184, 212, 356, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909} [INFO] [stdout] b items: {298, 421} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 910), fp: EncodedCountingMonoid(24, SumMonoid(12787)) }], item_sets: [ItemSet { range: Range(910, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(910, 2), items: [], want_response: false }, ItemSet { range: Range(2, 910), items: [298, 421], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 910), items: [2, 20, 49, 146, 184, 212, 356, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909], want_response: false }], wants: [298, 421], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [2, 20, 49, 146, 184, 212, 356, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909], provide: [(298, true), (421, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(2, true), (20, true), (49, true), (146, true), (184, true), (212, true), (356, true), (441, true), (479, true), (559, true), (582, true), (607, true), (627, true), (628, true), (699, true), (726, true), (729, true), (752, true), (769, true), (810, true), (831, true), (834, true), (836, true), (909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 20, 49, 146, 184, 212, 356, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909} + [298, 421] [INFO] [stdout] b all: {298, 421} + [2, 20, 49, 146, 184, 212, 356, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909] [INFO] [stdout] [INFO] [stdout] all vec: [2, 20, 49, 146, 184, 212, 298, 356, 421, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 20, 49, 146, 184, 212, 298, 356, 421, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 20, 49, 146, 184, 212, 298, 356, 421, 441, 479, 559, 582, 607, 627, 628, 699, 726, 729, 752, 769, 810, 831, 834, 836, 909], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 8, 42, 44, 45, 75, 84, 101, 120, 147, 148, 179, 188, 190, 193, 206, 218, 228, 229, 244, 255, 264, 278, 308, 326, 338, 381, 385, 405, 406, 408, 413, 415, 454, 511, 518, 531, 535, 588, 618, 619, 630, 646, 656, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 749, 754, 755, 784, 816, 850, 851, 883, 885, 887, 897, 911, 932, 950, 955, 975} [INFO] [stdout] b items: {22, 34, 54, 60, 65, 80, 101, 102, 103, 129, 132, 149, 156, 178, 185, 229, 234, 249, 261, 271, 275, 292, 300, 320, 335, 351, 392, 457, 517, 529, 539, 551, 574, 581, 616, 629, 658, 729, 789, 794, 796, 821, 842, 860, 869, 890, 912, 917, 936, 951, 961} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 976), fp: EncodedCountingMonoid(70, SumMonoid(34346)) }], item_sets: [ItemSet { range: Range(976, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 392), fp: EncodedCountingMonoid(26, SumMonoid(4667)) }, Fingerprint { range: Range(392, 976), fp: EncodedCountingMonoid(25, SumMonoid(18110)) }], item_sets: [ItemSet { range: Range(976, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 193), fp: EncodedCountingMonoid(14, SumMonoid(1372)) }, Fingerprint { range: Range(193, 392), fp: EncodedCountingMonoid(14, SumMonoid(3853)) }, Fingerprint { range: Range(392, 699), fp: EncodedCountingMonoid(21, SumMonoid(11729)) }, Fingerprint { range: Range(699, 976), fp: EncodedCountingMonoid(21, SumMonoid(17392)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 103), fp: EncodedCountingMonoid(8, SumMonoid(518)) }, Fingerprint { range: Range(103, 193), fp: EncodedCountingMonoid(7, SumMonoid(1032)) }, Fingerprint { range: Range(193, 292), fp: EncodedCountingMonoid(6, SumMonoid(1519)) }, Fingerprint { range: Range(292, 392), fp: EncodedCountingMonoid(5, SumMonoid(1598)) }, Fingerprint { range: Range(392, 574), fp: EncodedCountingMonoid(6, SumMonoid(2985)) }, Fingerprint { range: Range(574, 699), fp: EncodedCountingMonoid(5, SumMonoid(3058)) }, Fingerprint { range: Range(699, 869), fp: EncodedCountingMonoid(7, SumMonoid(5631)) }, Fingerprint { range: Range(869, 976), fp: EncodedCountingMonoid(7, SumMonoid(6436)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 45), fp: EncodedCountingMonoid(4, SumMonoid(95)) }, Fingerprint { range: Range(45, 103), fp: EncodedCountingMonoid(4, SumMonoid(305)) }, Fingerprint { range: Range(103, 179), fp: EncodedCountingMonoid(3, SumMonoid(415)) }, Fingerprint { range: Range(179, 193), fp: EncodedCountingMonoid(3, SumMonoid(557)) }, Fingerprint { range: Range(193, 244), fp: EncodedCountingMonoid(5, SumMonoid(1074)) }, Fingerprint { range: Range(244, 292), fp: EncodedCountingMonoid(4, SumMonoid(1041)) }, Fingerprint { range: Range(292, 381), fp: EncodedCountingMonoid(3, SumMonoid(972)) }, Fingerprint { range: Range(392, 454), fp: EncodedCountingMonoid(5, SumMonoid(2047)) }, Fingerprint { range: Range(454, 574), fp: EncodedCountingMonoid(5, SumMonoid(2549)) }, Fingerprint { range: Range(574, 659), fp: EncodedCountingMonoid(6, SumMonoid(3757)) }, Fingerprint { range: Range(659, 699), fp: EncodedCountingMonoid(5, SumMonoid(3376)) }, Fingerprint { range: Range(699, 754), fp: EncodedCountingMonoid(6, SumMonoid(4307)) }, Fingerprint { range: Range(754, 869), fp: EncodedCountingMonoid(6, SumMonoid(4810)) }, Fingerprint { range: Range(869, 932), fp: EncodedCountingMonoid(5, SumMonoid(4463)) }, Fingerprint { range: Range(932, 976), fp: EncodedCountingMonoid(4, SumMonoid(3812)) }], item_sets: [ItemSet { range: Range(381, 392), items: [381, 385], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(45, 80), fp: EncodedCountingMonoid(3, SumMonoid(179)) }, Fingerprint { range: Range(80, 103), fp: EncodedCountingMonoid(3, SumMonoid(283)) }, Fingerprint { range: Range(103, 149), fp: EncodedCountingMonoid(3, SumMonoid(364)) }, Fingerprint { range: Range(149, 179), fp: EncodedCountingMonoid(3, SumMonoid(483)) }, Fingerprint { range: Range(292, 335), fp: EncodedCountingMonoid(3, SumMonoid(912)) }, Fingerprint { range: Range(454, 539), fp: EncodedCountingMonoid(3, SumMonoid(1503)) }, Fingerprint { range: Range(574, 629), fp: EncodedCountingMonoid(3, SumMonoid(1771)) }, Fingerprint { range: Range(754, 821), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(821, 869), fp: EncodedCountingMonoid(3, SumMonoid(2523)) }], item_sets: [ItemSet { range: Range(381, 392), items: [], want_response: false }, ItemSet { range: Range(1, 45), items: [22, 34], want_response: true }, ItemSet { range: Range(179, 193), items: [185], want_response: true }, ItemSet { range: Range(193, 244), items: [229, 234], want_response: true }, ItemSet { range: Range(244, 271), items: [249, 261], want_response: true }, ItemSet { range: Range(271, 292), items: [271, 275], want_response: true }, ItemSet { range: Range(335, 381), items: [335, 351], want_response: true }, ItemSet { range: Range(392, 454), items: [392], want_response: true }, ItemSet { range: Range(539, 574), items: [539, 551], want_response: true }, ItemSet { range: Range(629, 659), items: [629, 658], want_response: true }, ItemSet { range: Range(659, 699), items: [], want_response: true }, ItemSet { range: Range(699, 754), items: [729], want_response: true }, ItemSet { range: Range(869, 912), items: [869, 890], want_response: true }, ItemSet { range: Range(912, 932), items: [912, 917], want_response: true }, ItemSet { range: Range(932, 961), items: [936, 951], want_response: true }, ItemSet { range: Range(961, 976), items: [961], want_response: true }], wants: [381, 385], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(454, 531), fp: EncodedCountingMonoid(3, SumMonoid(1483)) }], item_sets: [ItemSet { range: Range(1, 45), items: [1, 8, 42, 44], want_response: false }, ItemSet { range: Range(179, 193), items: [179, 188, 190], want_response: false }, ItemSet { range: Range(193, 244), items: [193, 206, 218, 228, 229], want_response: false }, ItemSet { range: Range(244, 271), items: [244, 255, 264], want_response: false }, ItemSet { range: Range(271, 292), items: [278], want_response: false }, ItemSet { range: Range(335, 381), items: [338], want_response: false }, ItemSet { range: Range(392, 454), items: [405, 406, 408, 413, 415], want_response: false }, ItemSet { range: Range(539, 574), items: [], want_response: false }, ItemSet { range: Range(629, 659), items: [630, 646, 656], want_response: false }, ItemSet { range: Range(659, 699), items: [659, 671, 677, 679, 690], want_response: false }, ItemSet { range: Range(699, 754), items: [699, 707, 712, 713, 727, 749], want_response: false }, ItemSet { range: Range(869, 912), items: [883, 885, 887, 897, 911], want_response: false }, ItemSet { range: Range(912, 932), items: [], want_response: false }, ItemSet { range: Range(932, 961), items: [932, 950, 955], want_response: false }, ItemSet { range: Range(961, 976), items: [975], want_response: false }, ItemSet { range: Range(45, 80), items: [45, 75], want_response: true }, ItemSet { range: Range(80, 103), items: [84, 101], want_response: true }, ItemSet { range: Range(103, 148), items: [120, 147], want_response: true }, ItemSet { range: Range(148, 149), items: [148], want_response: true }, ItemSet { range: Range(149, 179), items: [], want_response: true }, ItemSet { range: Range(292, 335), items: [308, 326], want_response: true }, ItemSet { range: Range(531, 539), items: [531, 535], want_response: true }, ItemSet { range: Range(574, 619), items: [588, 618], want_response: true }, ItemSet { range: Range(619, 629), items: [619], want_response: true }, ItemSet { range: Range(754, 784), items: [754, 755], want_response: true }, ItemSet { range: Range(784, 821), items: [784, 816], want_response: true }, ItemSet { range: Range(821, 869), items: [850, 851], want_response: true }], wants: [22, 34, 185, 234, 249, 261, 271, 275, 335, 351, 392, 539, 551, 629, 658, 729, 869, 890, 912, 917, 936, 951, 961], provide: [(381, true), (385, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(45, 80), items: [54, 60, 65], want_response: false }, ItemSet { range: Range(80, 103), items: [80, 101, 102], want_response: false }, ItemSet { range: Range(103, 148), items: [103, 129, 132], want_response: false }, ItemSet { range: Range(148, 149), items: [], want_response: false }, ItemSet { range: Range(149, 179), items: [149, 156, 178], want_response: false }, ItemSet { range: Range(292, 335), items: [292, 300, 320], want_response: false }, ItemSet { range: Range(531, 539), items: [], want_response: false }, ItemSet { range: Range(574, 619), items: [574, 581, 616], want_response: false }, ItemSet { range: Range(619, 629), items: [], want_response: false }, ItemSet { range: Range(754, 784), items: [], want_response: false }, ItemSet { range: Range(784, 821), items: [789, 794, 796], want_response: false }, ItemSet { range: Range(821, 869), items: [821, 842, 860], want_response: false }, ItemSet { range: Range(454, 529), items: [457, 517], want_response: true }, ItemSet { range: Range(529, 531), items: [529], want_response: true }], wants: [1, 8, 42, 44, 179, 188, 190, 193, 206, 218, 228, 244, 255, 264, 278, 338, 405, 406, 408, 413, 415, 630, 646, 656, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 749, 883, 885, 887, 897, 911, 932, 950, 955, 975, 45, 75, 84, 120, 147, 148, 308, 326, 531, 535, 588, 618, 619, 754, 755, 784, 816, 850, 851], provide: [(22, true), (34, true), (185, true), (234, true), (249, true), (261, true), (271, true), (275, true), (335, true), (351, true), (392, true), (539, true), (551, true), (629, true), (658, true), (729, true), (869, true), (890, true), (912, true), (917, true), (936, true), (951, true), (961, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(454, 529), items: [454, 511, 518], want_response: false }, ItemSet { range: Range(529, 531), items: [], want_response: false }], wants: [54, 60, 65, 80, 102, 103, 129, 132, 149, 156, 178, 292, 300, 320, 574, 581, 616, 789, 794, 796, 821, 842, 860, 457, 517, 529], provide: [(1, true), (8, true), (42, true), (44, true), (179, true), (188, true), (190, true), (193, true), (206, true), (218, true), (228, true), (244, true), (255, true), (264, true), (278, true), (338, true), (405, true), (406, true), (408, true), (413, true), (415, true), (630, true), (646, true), (656, true), (659, true), (671, true), (677, true), (679, true), (690, true), (699, true), (707, true), (712, true), (713, true), (727, true), (749, true), (883, true), (885, true), (887, true), (897, true), (911, true), (932, true), (950, true), (955, true), (975, true), (45, true), (75, true), (84, true), (120, true), (147, true), (148, true), (308, true), (326, true), (531, true), (535, true), (588, true), (618, true), (619, true), (754, true), (755, true), (784, true), (816, true), (850, true), (851, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [454, 511, 518], provide: [(54, true), (60, true), (65, true), (80, true), (102, true), (103, true), (129, true), (132, true), (149, true), (156, true), (178, true), (292, true), (300, true), (320, true), (574, true), (581, true), (616, true), (789, true), (794, true), (796, true), (821, true), (842, true), (860, true), (457, true), (517, true), (529, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(454, true), (511, true), (518, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 8, 42, 44, 45, 75, 84, 101, 120, 147, 148, 179, 188, 190, 193, 206, 218, 228, 229, 244, 255, 264, 278, 308, 326, 338, 381, 385, 405, 406, 408, 413, 415, 454, 511, 518, 531, 535, 588, 618, 619, 630, 646, 656, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 749, 754, 755, 784, 816, 850, 851, 883, 885, 887, 897, 911, 932, 950, 955, 975} + [22, 34, 185, 234, 249, 261, 271, 275, 335, 351, 392, 539, 551, 629, 658, 729, 869, 890, 912, 917, 936, 951, 961, 54, 60, 65, 80, 102, 103, 129, 132, 149, 156, 178, 292, 300, 320, 574, 581, 616, 789, 794, 796, 821, 842, 860, 457, 517, 529] [INFO] [stdout] b all: {22, 34, 54, 60, 65, 80, 101, 102, 103, 129, 132, 149, 156, 178, 185, 229, 234, 249, 261, 271, 275, 292, 300, 320, 335, 351, 392, 457, 517, 529, 539, 551, 574, 581, 616, 629, 658, 729, 789, 794, 796, 821, 842, 860, 869, 890, 912, 917, 936, 951, 961} + [381, 385, 1, 8, 42, 44, 179, 188, 190, 193, 206, 218, 228, 244, 255, 264, 278, 338, 405, 406, 408, 413, 415, 630, 646, 656, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 749, 883, 885, 887, 897, 911, 932, 950, 955, 975, 45, 75, 84, 120, 147, 148, 308, 326, 531, 535, 588, 618, 619, 754, 755, 784, 816, 850, 851, 454, 511, 518] [INFO] [stdout] [INFO] [stdout] all vec: [1, 8, 22, 34, 42, 44, 45, 54, 60, 65, 75, 80, 84, 101, 102, 103, 120, 129, 132, 147, 148, 149, 156, 178, 179, 185, 188, 190, 193, 206, 218, 228, 229, 234, 244, 249, 255, 261, 264, 271, 275, 278, 292, 300, 308, 320, 326, 335, 338, 351, 381, 385, 392, 405, 406, 408, 413, 415, 454, 457, 511, 517, 518, 529, 531, 535, 539, 551, 574, 581, 588, 616, 618, 619, 629, 630, 646, 656, 658, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 729, 749, 754, 755, 784, 789, 794, 796, 816, 821, 842, 850, 851, 860, 869, 883, 885, 887, 890, 897, 911, 912, 917, 932, 936, 950, 951, 955, 961, 975] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 8, 22, 34, 42, 44, 45, 54, 60, 65, 75, 80, 84, 101, 102, 103, 120, 129, 132, 147, 148, 149, 156, 178, 179, 185, 188, 190, 193, 206, 218, 228, 229, 234, 244, 249, 255, 261, 264, 271, 275, 278, 292, 300, 308, 320, 326, 335, 338, 351, 381, 385, 392, 405, 406, 408, 413, 415, 454, 457, 511, 517, 518, 529, 531, 535, 539, 551, 574, 581, 588, 616, 618, 619, 629, 630, 646, 656, 658, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 729, 749, 754, 755, 784, 789, 794, 796, 816, 821, 842, 850, 851, 860, 869, 883, 885, 887, 890, 897, 911, 912, 917, 932, 936, 950, 951, 955, 961, 975], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 8, 22, 34, 42, 44, 45, 54, 60, 65, 75, 80, 84, 101, 102, 103, 120, 129, 132, 147, 148, 149, 156, 178, 179, 185, 188, 190, 193, 206, 218, 228, 229, 234, 244, 249, 255, 261, 264, 271, 275, 278, 292, 300, 308, 320, 326, 335, 338, 351, 381, 385, 392, 405, 406, 408, 413, 415, 454, 457, 511, 517, 518, 529, 531, 535, 539, 551, 574, 581, 588, 616, 618, 619, 629, 630, 646, 656, 658, 659, 671, 677, 679, 690, 699, 707, 712, 713, 727, 729, 749, 754, 755, 784, 789, 794, 796, 816, 821, 842, 850, 851, 860, 869, 883, 885, 887, 890, 897, 911, 912, 917, 932, 936, 950, 951, 955, 961, 975], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131, 153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 434, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 696, 704, 722, 731, 734, 735, 738, 753, 756, 808, 834, 852, 861, 863, 873, 878, 906, 949, 958, 966, 967, 979, 997} [INFO] [stdout] b items: {30, 138, 148, 222, 422, 441, 687, 695, 759, 875, 938, 967} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 998), fp: EncodedCountingMonoid(79, SumMonoid(38277)) }], item_sets: [ItemSet { range: Range(998, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 687), fp: EncodedCountingMonoid(6, SumMonoid(1401)) }, Fingerprint { range: Range(687, 998), fp: EncodedCountingMonoid(6, SumMonoid(4921)) }], item_sets: [ItemSet { range: Range(998, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 353), fp: EncodedCountingMonoid(28, SumMonoid(4859)) }, Fingerprint { range: Range(353, 687), fp: EncodedCountingMonoid(28, SumMonoid(14158)) }, Fingerprint { range: Range(687, 861), fp: EncodedCountingMonoid(12, SumMonoid(9063)) }, Fingerprint { range: Range(861, 998), fp: EncodedCountingMonoid(11, SumMonoid(10197)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 148), items: [30, 138], want_response: true }, ItemSet { range: Range(148, 353), items: [148, 222], want_response: true }, ItemSet { range: Range(353, 687), items: [422, 441], want_response: true }, ItemSet { range: Range(687, 759), items: [687, 695], want_response: true }, ItemSet { range: Range(759, 861), items: [759], want_response: true }, ItemSet { range: Range(861, 967), items: [875, 938], want_response: true }, ItemSet { range: Range(967, 998), items: [967], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 148), items: [1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131], want_response: false }, ItemSet { range: Range(148, 353), items: [153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338], want_response: false }, ItemSet { range: Range(353, 687), items: [353, 356, 360, 364, 385, 391, 411, 434, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664], want_response: false }, ItemSet { range: Range(687, 759), items: [696, 704, 722, 731, 734, 735, 738, 753, 756], want_response: false }, ItemSet { range: Range(759, 861), items: [808, 834, 852], want_response: false }, ItemSet { range: Range(861, 967), items: [861, 863, 873, 878, 906, 949, 958, 966], want_response: false }, ItemSet { range: Range(967, 998), items: [967, 979, 997], want_response: false }], wants: [138, 148, 422, 441, 687, 695, 759, 875, 938], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 6, 26, 28, 40, 79, 82, 87, 110, 111, 131, 153, 155, 175, 183, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 434, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 696, 704, 722, 731, 734, 735, 738, 753, 756, 808, 834, 852, 861, 863, 873, 878, 906, 949, 958, 966, 979, 997], provide: [(138, true), (148, true), (422, true), (441, true), (687, true), (695, true), (759, true), (875, true), (938, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (6, true), (26, true), (28, true), (40, true), (79, true), (82, true), (87, true), (110, true), (111, true), (131, true), (153, true), (155, true), (175, true), (183, true), (224, true), (261, true), (268, true), (275, true), (295, true), (307, true), (310, true), (312, true), (318, true), (332, true), (338, true), (353, true), (356, true), (360, true), (364, true), (385, true), (391, true), (411, true), (434, true), (455, true), (466, true), (469, true), (489, true), (500, true), (501, true), (511, true), (513, true), (544, true), (551, true), (563, true), (581, true), (586, true), (588, true), (598, true), (612, true), (621, true), (632, true), (660, true), (664, true), (696, true), (704, true), (722, true), (731, true), (734, true), (735, true), (738, true), (753, true), (756, true), (808, true), (834, true), (852, true), (861, true), (863, true), (873, true), (878, true), (906, true), (949, true), (958, true), (966, true), (979, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131, 153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 434, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 696, 704, 722, 731, 734, 735, 738, 753, 756, 808, 834, 852, 861, 863, 873, 878, 906, 949, 958, 966, 967, 979, 997} + [138, 148, 422, 441, 687, 695, 759, 875, 938] [INFO] [stdout] b all: {30, 138, 148, 222, 422, 441, 687, 695, 759, 875, 938, 967} + [1, 6, 26, 28, 40, 79, 82, 87, 110, 111, 131, 153, 155, 175, 183, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 434, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 696, 704, 722, 731, 734, 735, 738, 753, 756, 808, 834, 852, 861, 863, 873, 878, 906, 949, 958, 966, 979, 997] [INFO] [stdout] [INFO] [stdout] all vec: [1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131, 138, 148, 153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 422, 434, 441, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 687, 695, 696, 704, 722, 731, 734, 735, 738, 753, 756, 759, 808, 834, 852, 861, 863, 873, 875, 878, 906, 938, 949, 958, 966, 967, 979, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131, 138, 148, 153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 422, 434, 441, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 687, 695, 696, 704, 722, 731, 734, 735, 738, 753, 756, 759, 808, 834, 852, 861, 863, 873, 875, 878, 906, 938, 949, 958, 966, 967, 979, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 6, 26, 28, 30, 40, 79, 82, 87, 110, 111, 131, 138, 148, 153, 155, 175, 183, 222, 224, 261, 268, 275, 295, 307, 310, 312, 318, 332, 338, 353, 356, 360, 364, 385, 391, 411, 422, 434, 441, 455, 466, 469, 489, 500, 501, 511, 513, 544, 551, 563, 581, 586, 588, 598, 612, 621, 632, 660, 664, 687, 695, 696, 704, 722, 731, 734, 735, 738, 753, 756, 759, 808, 834, 852, 861, 863, 873, 875, 878, 906, 938, 949, 958, 966, 967, 979, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983} [INFO] [stdout] b items: {436} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(21, 984), fp: EncodedCountingMonoid(85, SumMonoid(42044)) }], item_sets: [ItemSet { range: Range(984, 21), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(984, 21), items: [], want_response: false }, ItemSet { range: Range(21, 984), items: [436], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(21, 984), items: [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983], want_response: false }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(21, true), (25, true), (32, true), (35, true), (58, true), (64, true), (74, true), (78, true), (88, true), (101, true), (112, true), (121, true), (134, true), (142, true), (144, true), (157, true), (177, true), (180, true), (198, true), (199, true), (218, true), (232, true), (249, true), (250, true), (287, true), (296, true), (304, true), (314, true), (320, true), (333, true), (346, true), (358, true), (368, true), (392, true), (403, true), (407, true), (409, true), (415, true), (422, true), (457, true), (481, true), (483, true), (500, true), (528, true), (536, true), (537, true), (541, true), (542, true), (543, true), (545, true), (560, true), (589, true), (600, true), (610, true), (612, true), (613, true), (676, true), (678, true), (684, true), (700, true), (735, true), (737, true), (791, true), (800, true), (819, true), (830, true), (831, true), (846, true), (848, true), (867, true), (868, true), (871, true), (891, true), (896, true), (924, true), (929, true), (933, true), (934, true), (940, true), (949, true), (952, true), (974, true), (982, true), (983, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983} + [] [INFO] [stdout] b all: {436} + [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983] [INFO] [stdout] [INFO] [stdout] all vec: [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983] [INFO] [stdout] [INFO] [stdout] a all vec: [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983], true true [INFO] [stdout] [INFO] [stdout] b all vec: [21, 25, 32, 35, 58, 64, 74, 78, 88, 101, 112, 121, 134, 142, 144, 157, 177, 180, 198, 199, 218, 232, 249, 250, 287, 296, 304, 314, 320, 333, 346, 358, 368, 392, 403, 407, 409, 415, 422, 436, 457, 481, 483, 500, 528, 536, 537, 541, 542, 543, 545, 560, 589, 600, 610, 612, 613, 676, 678, 684, 700, 735, 737, 791, 800, 819, 830, 831, 846, 848, 867, 868, 871, 891, 896, 924, 929, 933, 934, 940, 949, 952, 974, 982, 983], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {18, 34, 45, 56, 69, 73, 102, 121, 133, 167, 187, 193, 214, 243, 255, 275, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 494, 496, 512, 518, 530, 559, 561, 573, 614, 616, 619, 633, 637, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 955, 959, 995} [INFO] [stdout] b items: {29, 102, 163, 290, 464, 536, 613, 616, 623, 651, 940, 951, 970} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(18, 996), fp: EncodedCountingMonoid(65, SumMonoid(32400)) }], item_sets: [ItemSet { range: Range(996, 18), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(18, 616), fp: EncodedCountingMonoid(7, SumMonoid(2197)) }, Fingerprint { range: Range(616, 996), fp: EncodedCountingMonoid(6, SumMonoid(4751)) }], item_sets: [ItemSet { range: Range(996, 18), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(18, 354), fp: EncodedCountingMonoid(21, SumMonoid(3788)) }, Fingerprint { range: Range(354, 616), fp: EncodedCountingMonoid(20, SumMonoid(9251)) }, Fingerprint { range: Range(616, 810), fp: EncodedCountingMonoid(12, SumMonoid(8535)) }, Fingerprint { range: Range(810, 996), fp: EncodedCountingMonoid(12, SumMonoid(10826)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(18, 163), items: [29, 102], want_response: true }, ItemSet { range: Range(163, 354), items: [163, 290], want_response: true }, ItemSet { range: Range(354, 613), items: [464, 536], want_response: true }, ItemSet { range: Range(613, 616), items: [613], want_response: true }, ItemSet { range: Range(616, 651), items: [616, 623], want_response: true }, ItemSet { range: Range(651, 810), items: [651], want_response: true }, ItemSet { range: Range(810, 970), items: [940, 951], want_response: true }, ItemSet { range: Range(970, 996), items: [970], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(18, 163), items: [18, 34, 45, 56, 69, 73, 102, 121, 133], want_response: false }, ItemSet { range: Range(163, 354), items: [167, 187, 193, 214, 243, 255, 275, 298, 303, 315, 342, 345], want_response: false }, ItemSet { range: Range(354, 613), items: [354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 494, 496, 512, 518, 530, 559, 561, 573], want_response: false }, ItemSet { range: Range(613, 616), items: [614], want_response: false }, ItemSet { range: Range(616, 651), items: [616, 619, 633, 637], want_response: false }, ItemSet { range: Range(651, 810), items: [677, 732, 734, 765, 775, 777, 784, 786], want_response: false }, ItemSet { range: Range(810, 970), items: [810, 834, 860, 861, 870, 907, 924, 925, 926, 955, 959], want_response: false }, ItemSet { range: Range(970, 996), items: [995], want_response: false }], wants: [29, 163, 290, 464, 536, 613, 623, 651, 940, 951, 970], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [18, 34, 45, 56, 69, 73, 121, 133, 167, 187, 193, 214, 243, 255, 275, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 494, 496, 512, 518, 530, 559, 561, 573, 614, 619, 633, 637, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 955, 959, 995], provide: [(29, true), (163, true), (290, true), (464, true), (536, true), (613, true), (623, true), (651, true), (940, true), (951, true), (970, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(18, true), (34, true), (45, true), (56, true), (69, true), (73, true), (121, true), (133, true), (167, true), (187, true), (193, true), (214, true), (243, true), (255, true), (275, true), (298, true), (303, true), (315, true), (342, true), (345, true), (354, true), (357, true), (367, true), (370, true), (373, true), (379, true), (420, true), (421, true), (431, true), (459, true), (463, true), (494, true), (496, true), (512, true), (518, true), (530, true), (559, true), (561, true), (573, true), (614, true), (619, true), (633, true), (637, true), (677, true), (732, true), (734, true), (765, true), (775, true), (777, true), (784, true), (786, true), (810, true), (834, true), (860, true), (861, true), (870, true), (907, true), (924, true), (925, true), (926, true), (955, true), (959, true), (995, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {18, 34, 45, 56, 69, 73, 102, 121, 133, 167, 187, 193, 214, 243, 255, 275, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 494, 496, 512, 518, 530, 559, 561, 573, 614, 616, 619, 633, 637, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 955, 959, 995} + [29, 163, 290, 464, 536, 613, 623, 651, 940, 951, 970] [INFO] [stdout] b all: {29, 102, 163, 290, 464, 536, 613, 616, 623, 651, 940, 951, 970} + [18, 34, 45, 56, 69, 73, 121, 133, 167, 187, 193, 214, 243, 255, 275, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 494, 496, 512, 518, 530, 559, 561, 573, 614, 619, 633, 637, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 955, 959, 995] [INFO] [stdout] [INFO] [stdout] all vec: [18, 29, 34, 45, 56, 69, 73, 102, 121, 133, 163, 167, 187, 193, 214, 243, 255, 275, 290, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 464, 494, 496, 512, 518, 530, 536, 559, 561, 573, 613, 614, 616, 619, 623, 633, 637, 651, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 940, 951, 955, 959, 970, 995] [INFO] [stdout] [INFO] [stdout] a all vec: [18, 29, 34, 45, 56, 69, 73, 102, 121, 133, 163, 167, 187, 193, 214, 243, 255, 275, 290, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 464, 494, 496, 512, 518, 530, 536, 559, 561, 573, 613, 614, 616, 619, 623, 633, 637, 651, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 940, 951, 955, 959, 970, 995], true true [INFO] [stdout] [INFO] [stdout] b all vec: [18, 29, 34, 45, 56, 69, 73, 102, 121, 133, 163, 167, 187, 193, 214, 243, 255, 275, 290, 298, 303, 315, 342, 345, 354, 357, 367, 370, 373, 379, 420, 421, 431, 459, 463, 464, 494, 496, 512, 518, 530, 536, 559, 561, 573, 613, 614, 616, 619, 623, 633, 637, 651, 677, 732, 734, 765, 775, 777, 784, 786, 810, 834, 860, 861, 870, 907, 924, 925, 926, 940, 951, 955, 959, 970, 995], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 199, 207, 247, 260, 271, 295, 297, 310, 311, 314, 318, 333, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 535, 540, 545, 561, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773, 821, 828, 834, 844, 860, 864, 872, 878, 884, 887, 893, 920, 925, 943, 965} [INFO] [stdout] b items: {14, 198, 237, 285, 302, 321, 323, 333, 349, 528, 585, 614, 791, 797, 801, 852, 885, 902} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 966), fp: EncodedCountingMonoid(72, SumMonoid(35880)) }], item_sets: [ItemSet { range: Range(966, 27), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(27, 585), fp: EncodedCountingMonoid(9, SumMonoid(2876)) }, Fingerprint { range: Range(585, 966), fp: EncodedCountingMonoid(8, SumMonoid(6227)) }], item_sets: [ItemSet { range: Range(966, 27), items: [14], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(27, 318), fp: EncodedCountingMonoid(23, SumMonoid(3980)) }, Fingerprint { range: Range(318, 585), fp: EncodedCountingMonoid(22, SumMonoid(10402)) }, Fingerprint { range: Range(585, 834), fp: EncodedCountingMonoid(14, SumMonoid(9929)) }, Fingerprint { range: Range(834, 966), fp: EncodedCountingMonoid(13, SumMonoid(11569)) }], item_sets: [], wants: [14], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(318, 349), fp: EncodedCountingMonoid(3, SumMonoid(977)) }, Fingerprint { range: Range(585, 797), fp: EncodedCountingMonoid(3, SumMonoid(1990)) }], item_sets: [ItemSet { range: Range(27, 285), items: [198, 237], want_response: true }, ItemSet { range: Range(285, 318), items: [285, 302], want_response: true }, ItemSet { range: Range(349, 585), items: [349, 528], want_response: true }, ItemSet { range: Range(797, 834), items: [797, 801], want_response: true }, ItemSet { range: Range(834, 902), items: [852, 885], want_response: true }, ItemSet { range: Range(902, 966), items: [902], want_response: true }], wants: [], provide: [(14, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(585, 694), fp: EncodedCountingMonoid(6, SumMonoid(3912)) }, Fingerprint { range: Range(694, 797), fp: EncodedCountingMonoid(6, SumMonoid(4368)) }], item_sets: [ItemSet { range: Range(27, 285), items: [27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 199, 207, 247, 260, 271], want_response: false }, ItemSet { range: Range(285, 318), items: [295, 297, 310, 311, 314], want_response: false }, ItemSet { range: Range(349, 585), items: [359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 535, 540, 545, 561], want_response: false }, ItemSet { range: Range(797, 834), items: [821, 828], want_response: false }, ItemSet { range: Range(834, 902), items: [834, 844, 860, 864, 872, 878, 884, 887, 893], want_response: false }, ItemSet { range: Range(902, 966), items: [920, 925, 943, 965], want_response: false }, ItemSet { range: Range(318, 349), items: [318, 333], want_response: true }], wants: [198, 237, 285, 302, 349, 528, 797, 801, 852, 885, 902], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(318, 349), items: [321, 323, 333], want_response: false }, ItemSet { range: Range(585, 694), items: [585, 614], want_response: true }, ItemSet { range: Range(694, 797), items: [791], want_response: true }], wants: [27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 199, 207, 247, 260, 271, 295, 297, 310, 311, 314, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 535, 540, 545, 561, 821, 828, 834, 844, 860, 864, 872, 878, 884, 887, 893, 920, 925, 943, 965, 318], provide: [(198, true), (237, true), (285, true), (302, true), (349, true), (528, true), (797, true), (801, true), (852, true), (885, true), (902, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(585, 694), items: [626, 634, 636, 660, 671, 685], want_response: false }, ItemSet { range: Range(694, 797), items: [694, 704, 718, 736, 743, 773], want_response: false }], wants: [321, 323, 585, 614, 791], provide: [(27, true), (38, true), (60, true), (62, true), (76, true), (81, true), (97, true), (108, true), (116, true), (135, true), (138, true), (161, true), (170, true), (199, true), (207, true), (247, true), (260, true), (271, true), (295, true), (297, true), (310, true), (311, true), (314, true), (359, true), (368, true), (404, true), (464, true), (467, true), (472, true), (475, true), (480, true), (484, true), (495, true), (499, true), (502, true), (523, true), (525, true), (526, true), (527, true), (535, true), (540, true), (545, true), (561, true), (821, true), (828, true), (834, true), (844, true), (860, true), (864, true), (872, true), (878, true), (884, true), (887, true), (893, true), (920, true), (925, true), (943, true), (965, true), (318, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773], provide: [(321, true), (323, true), (585, true), (614, true), (791, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(626, true), (634, true), (636, true), (660, true), (671, true), (685, true), (694, true), (704, true), (718, true), (736, true), (743, true), (773, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 199, 207, 247, 260, 271, 295, 297, 310, 311, 314, 318, 333, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 535, 540, 545, 561, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773, 821, 828, 834, 844, 860, 864, 872, 878, 884, 887, 893, 920, 925, 943, 965} + [14, 198, 237, 285, 302, 349, 528, 797, 801, 852, 885, 902, 321, 323, 585, 614, 791] [INFO] [stdout] b all: {14, 198, 237, 285, 302, 321, 323, 333, 349, 528, 585, 614, 791, 797, 801, 852, 885, 902} + [27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 199, 207, 247, 260, 271, 295, 297, 310, 311, 314, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 535, 540, 545, 561, 821, 828, 834, 844, 860, 864, 872, 878, 884, 887, 893, 920, 925, 943, 965, 318, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773] [INFO] [stdout] [INFO] [stdout] all vec: [14, 27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 198, 199, 207, 237, 247, 260, 271, 285, 295, 297, 302, 310, 311, 314, 318, 321, 323, 333, 349, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 528, 535, 540, 545, 561, 585, 614, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773, 791, 797, 801, 821, 828, 834, 844, 852, 860, 864, 872, 878, 884, 885, 887, 893, 902, 920, 925, 943, 965] [INFO] [stdout] [INFO] [stdout] a all vec: [14, 27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 198, 199, 207, 237, 247, 260, 271, 285, 295, 297, 302, 310, 311, 314, 318, 321, 323, 333, 349, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 528, 535, 540, 545, 561, 585, 614, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773, 791, 797, 801, 821, 828, 834, 844, 852, 860, 864, 872, 878, 884, 885, 887, 893, 902, 920, 925, 943, 965], true true [INFO] [stdout] [INFO] [stdout] b all vec: [14, 27, 38, 60, 62, 76, 81, 97, 108, 116, 135, 138, 161, 170, 198, 199, 207, 237, 247, 260, 271, 285, 295, 297, 302, 310, 311, 314, 318, 321, 323, 333, 349, 359, 368, 404, 464, 467, 472, 475, 480, 484, 495, 499, 502, 523, 525, 526, 527, 528, 535, 540, 545, 561, 585, 614, 626, 634, 636, 660, 671, 685, 694, 704, 718, 736, 743, 773, 791, 797, 801, 821, 828, 834, 844, 852, 860, 864, 872, 878, 884, 885, 887, 893, 902, 920, 925, 943, 965], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {173, 371, 389, 463, 790} [INFO] [stdout] b items: {7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 180, 189, 267, 292, 293, 296, 363, 405, 418, 440, 541, 672, 674, 725, 748, 753, 775, 785, 813, 865, 894, 901, 943, 945, 994, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(173, 791), fp: EncodedCountingMonoid(5, SumMonoid(2186)) }], item_sets: [ItemSet { range: Range(791, 173), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(173, 440), fp: EncodedCountingMonoid(9, SumMonoid(2703)) }, Fingerprint { range: Range(440, 791), fp: EncodedCountingMonoid(9, SumMonoid(6113)) }], item_sets: [ItemSet { range: Range(791, 173), items: [813, 865, 894, 901, 943, 945, 994, 999, 7, 12, 16, 94, 102, 108, 112, 140, 157, 170], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(173, 389), items: [173, 371], want_response: true }, ItemSet { range: Range(389, 440), items: [389], want_response: true }, ItemSet { range: Range(440, 791), items: [463, 790], want_response: true }], wants: [813, 865, 894, 901, 943, 945, 994, 999, 7, 12, 16, 94, 102, 108, 112, 140, 157, 170], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(173, 389), items: [180, 189, 267, 292, 293, 296, 363], want_response: false }, ItemSet { range: Range(389, 440), items: [405, 418], want_response: false }, ItemSet { range: Range(440, 791), items: [440, 541, 672, 674, 725, 748, 753, 775, 785], want_response: false }], wants: [173, 371, 389, 463, 790], provide: [(813, true), (865, true), (894, true), (901, true), (943, true), (945, true), (994, true), (999, true), (7, true), (12, true), (16, true), (94, true), (102, true), (108, true), (112, true), (140, true), (157, true), (170, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [180, 189, 267, 292, 293, 296, 363, 405, 418, 440, 541, 672, 674, 725, 748, 753, 775, 785], provide: [(173, true), (371, true), (389, true), (463, true), (790, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(180, true), (189, true), (267, true), (292, true), (293, true), (296, true), (363, true), (405, true), (418, true), (440, true), (541, true), (672, true), (674, true), (725, true), (748, true), (753, true), (775, true), (785, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {173, 371, 389, 463, 790} + [813, 865, 894, 901, 943, 945, 994, 999, 7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 180, 189, 267, 292, 293, 296, 363, 405, 418, 440, 541, 672, 674, 725, 748, 753, 775, 785] [INFO] [stdout] b all: {7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 180, 189, 267, 292, 293, 296, 363, 405, 418, 440, 541, 672, 674, 725, 748, 753, 775, 785, 813, 865, 894, 901, 943, 945, 994, 999} + [173, 371, 389, 463, 790] [INFO] [stdout] [INFO] [stdout] all vec: [7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 173, 180, 189, 267, 292, 293, 296, 363, 371, 389, 405, 418, 440, 463, 541, 672, 674, 725, 748, 753, 775, 785, 790, 813, 865, 894, 901, 943, 945, 994, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 173, 180, 189, 267, 292, 293, 296, 363, 371, 389, 405, 418, 440, 463, 541, 672, 674, 725, 748, 753, 775, 785, 790, 813, 865, 894, 901, 943, 945, 994, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 12, 16, 94, 102, 108, 112, 140, 157, 170, 173, 180, 189, 267, 292, 293, 296, 363, 371, 389, 405, 418, 440, 463, 541, 672, 674, 725, 748, 753, 775, 785, 790, 813, 865, 894, 901, 943, 945, 994, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {32, 41, 77, 125, 145, 181, 182, 183, 247, 262, 302, 311, 375, 392, 426, 437, 486, 505, 513, 542, 546, 570, 580, 583, 653, 654, 753, 783, 802, 822, 844, 845, 848, 856, 897, 906} [INFO] [stdout] b items: {40, 45, 68, 96, 98, 102, 113, 115, 116, 141, 142, 145, 153, 154, 178, 181, 218, 219, 230, 253, 265, 273, 277, 283, 294, 319, 333, 338, 348, 352, 372, 374, 377, 395, 396, 410, 412, 427, 449, 453, 504, 533, 542, 573, 615, 622, 652, 658, 669, 697, 724, 731, 746, 751, 753, 760, 761, 776, 793, 795, 797, 817, 820, 864, 869, 886, 927, 931, 933, 947, 967, 972, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(32, 907), fp: EncodedCountingMonoid(36, SumMonoid(17706)) }], item_sets: [ItemSet { range: Range(907, 32), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(32, 395), fp: EncodedCountingMonoid(33, SumMonoid(7012)) }, Fingerprint { range: Range(395, 907), fp: EncodedCountingMonoid(33, SumMonoid(21650)) }], item_sets: [ItemSet { range: Range(907, 32), items: [927, 931, 933, 947, 967, 972, 986], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(32, 183), fp: EncodedCountingMonoid(7, SumMonoid(783)) }, Fingerprint { range: Range(183, 395), fp: EncodedCountingMonoid(7, SumMonoid(2072)) }, Fingerprint { range: Range(395, 654), fp: EncodedCountingMonoid(11, SumMonoid(5841)) }, Fingerprint { range: Range(654, 907), fp: EncodedCountingMonoid(11, SumMonoid(9010)) }], item_sets: [], wants: [927, 931, 933, 947, 967, 972, 986], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(32, 116), fp: EncodedCountingMonoid(8, SumMonoid(677)) }, Fingerprint { range: Range(116, 183), fp: EncodedCountingMonoid(8, SumMonoid(1210)) }, Fingerprint { range: Range(183, 319), fp: EncodedCountingMonoid(9, SumMonoid(2312)) }, Fingerprint { range: Range(319, 395), fp: EncodedCountingMonoid(8, SumMonoid(2813)) }, Fingerprint { range: Range(395, 504), fp: EncodedCountingMonoid(7, SumMonoid(2942)) }, Fingerprint { range: Range(504, 654), fp: EncodedCountingMonoid(7, SumMonoid(4041)) }, Fingerprint { range: Range(654, 776), fp: EncodedCountingMonoid(10, SumMonoid(7250)) }, Fingerprint { range: Range(776, 907), fp: EncodedCountingMonoid(9, SumMonoid(7417)) }], item_sets: [], wants: [], provide: [(927, true), (931, true), (933, true), (947, true), (967, true), (972, true), (986, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(183, 302), fp: EncodedCountingMonoid(3, SumMonoid(692)) }, Fingerprint { range: Range(504, 570), fp: EncodedCountingMonoid(4, SumMonoid(2106)) }, Fingerprint { range: Range(570, 654), fp: EncodedCountingMonoid(4, SumMonoid(2386)) }, Fingerprint { range: Range(776, 848), fp: EncodedCountingMonoid(5, SumMonoid(4096)) }, Fingerprint { range: Range(848, 907), fp: EncodedCountingMonoid(4, SumMonoid(3507)) }], item_sets: [ItemSet { range: Range(32, 77), items: [32, 41], want_response: true }, ItemSet { range: Range(77, 116), items: [77], want_response: true }, ItemSet { range: Range(116, 181), items: [125, 145], want_response: true }, ItemSet { range: Range(181, 183), items: [181, 182], want_response: true }, ItemSet { range: Range(302, 319), items: [302, 311], want_response: true }, ItemSet { range: Range(319, 395), items: [375, 392], want_response: true }, ItemSet { range: Range(395, 486), items: [426, 437], want_response: true }, ItemSet { range: Range(486, 504), items: [486], want_response: true }, ItemSet { range: Range(654, 776), items: [654, 753], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(183, 273), fp: EncodedCountingMonoid(5, SumMonoid(1185)) }, Fingerprint { range: Range(273, 302), fp: EncodedCountingMonoid(4, SumMonoid(1127)) }, Fingerprint { range: Range(776, 797), fp: EncodedCountingMonoid(3, SumMonoid(2364)) }, Fingerprint { range: Range(797, 848), fp: EncodedCountingMonoid(3, SumMonoid(2434)) }], item_sets: [ItemSet { range: Range(32, 77), items: [40, 45, 68], want_response: false }, ItemSet { range: Range(77, 116), items: [96, 98, 102, 113, 115], want_response: false }, ItemSet { range: Range(116, 181), items: [116, 141, 142, 145, 153, 154, 178], want_response: false }, ItemSet { range: Range(181, 183), items: [181], want_response: false }, ItemSet { range: Range(302, 319), items: [], want_response: false }, ItemSet { range: Range(319, 395), items: [319, 333, 338, 348, 352, 372, 374, 377], want_response: false }, ItemSet { range: Range(395, 486), items: [395, 396, 410, 412, 427, 449, 453], want_response: false }, ItemSet { range: Range(486, 504), items: [], want_response: false }, ItemSet { range: Range(654, 776), items: [658, 669, 697, 724, 731, 746, 751, 753, 760, 761], want_response: false }, ItemSet { range: Range(504, 542), items: [504, 533], want_response: true }, ItemSet { range: Range(542, 570), items: [542], want_response: true }, ItemSet { range: Range(570, 622), items: [573, 615], want_response: true }, ItemSet { range: Range(622, 654), items: [622, 652], want_response: true }, ItemSet { range: Range(848, 886), items: [864, 869], want_response: true }, ItemSet { range: Range(886, 907), items: [886], want_response: true }], wants: [32, 41, 77, 125, 182, 302, 311, 375, 392, 426, 437, 486, 654], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(504, 542), items: [505, 513], want_response: false }, ItemSet { range: Range(542, 570), items: [542, 546], want_response: false }, ItemSet { range: Range(570, 622), items: [570, 580, 583], want_response: false }, ItemSet { range: Range(622, 654), items: [653], want_response: false }, ItemSet { range: Range(848, 886), items: [848, 856], want_response: false }, ItemSet { range: Range(886, 907), items: [897, 906], want_response: false }, ItemSet { range: Range(183, 262), items: [183, 247], want_response: true }, ItemSet { range: Range(262, 273), items: [262], want_response: true }, ItemSet { range: Range(273, 302), items: [], want_response: true }, ItemSet { range: Range(776, 797), items: [783], want_response: true }, ItemSet { range: Range(797, 844), items: [802, 822], want_response: true }, ItemSet { range: Range(844, 848), items: [844, 845], want_response: true }], wants: [40, 45, 68, 96, 98, 102, 113, 115, 116, 141, 142, 153, 154, 178, 319, 333, 338, 348, 352, 372, 374, 377, 395, 396, 410, 412, 427, 449, 453, 658, 669, 697, 724, 731, 746, 751, 760, 761, 504, 533, 573, 615, 622, 652, 864, 869, 886], provide: [(32, true), (41, true), (77, true), (125, true), (182, true), (302, true), (311, true), (375, true), (392, true), (426, true), (437, true), (486, true), (654, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(183, 262), items: [218, 219, 230, 253], want_response: false }, ItemSet { range: Range(262, 273), items: [265], want_response: false }, ItemSet { range: Range(273, 302), items: [273, 277, 283, 294], want_response: false }, ItemSet { range: Range(776, 797), items: [776, 793, 795], want_response: false }, ItemSet { range: Range(797, 844), items: [797, 817, 820], want_response: false }, ItemSet { range: Range(844, 848), items: [], want_response: false }], wants: [505, 513, 546, 570, 580, 583, 653, 848, 856, 897, 906, 183, 247, 262, 783, 802, 822, 844, 845], provide: [(40, true), (45, true), (68, true), (96, true), (98, true), (102, true), (113, true), (115, true), (116, true), (141, true), (142, true), (153, true), (154, true), (178, true), (319, true), (333, true), (338, true), (348, true), (352, true), (372, true), (374, true), (377, true), (395, true), (396, true), (410, true), (412, true), (427, true), (449, true), (453, true), (658, true), (669, true), (697, true), (724, true), (731, true), (746, true), (751, true), (760, true), (761, true), (504, true), (533, true), (573, true), (615, true), (622, true), (652, true), (864, true), (869, true), (886, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [218, 219, 230, 253, 265, 273, 277, 283, 294, 776, 793, 795, 797, 817, 820], provide: [(505, true), (513, true), (546, true), (570, true), (580, true), (583, true), (653, true), (848, true), (856, true), (897, true), (906, true), (183, true), (247, true), (262, true), (783, true), (802, true), (822, true), (844, true), (845, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(218, true), (219, true), (230, true), (253, true), (265, true), (273, true), (277, true), (283, true), (294, true), (776, true), (793, true), (795, true), (797, true), (817, true), (820, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {32, 41, 77, 125, 145, 181, 182, 183, 247, 262, 302, 311, 375, 392, 426, 437, 486, 505, 513, 542, 546, 570, 580, 583, 653, 654, 753, 783, 802, 822, 844, 845, 848, 856, 897, 906} + [927, 931, 933, 947, 967, 972, 986, 40, 45, 68, 96, 98, 102, 113, 115, 116, 141, 142, 153, 154, 178, 319, 333, 338, 348, 352, 372, 374, 377, 395, 396, 410, 412, 427, 449, 453, 658, 669, 697, 724, 731, 746, 751, 760, 761, 504, 533, 573, 615, 622, 652, 864, 869, 886, 218, 219, 230, 253, 265, 273, 277, 283, 294, 776, 793, 795, 797, 817, 820] [INFO] [stdout] b all: {40, 45, 68, 96, 98, 102, 113, 115, 116, 141, 142, 145, 153, 154, 178, 181, 218, 219, 230, 253, 265, 273, 277, 283, 294, 319, 333, 338, 348, 352, 372, 374, 377, 395, 396, 410, 412, 427, 449, 453, 504, 533, 542, 573, 615, 622, 652, 658, 669, 697, 724, 731, 746, 751, 753, 760, 761, 776, 793, 795, 797, 817, 820, 864, 869, 886, 927, 931, 933, 947, 967, 972, 986} + [32, 41, 77, 125, 182, 302, 311, 375, 392, 426, 437, 486, 654, 505, 513, 546, 570, 580, 583, 653, 848, 856, 897, 906, 183, 247, 262, 783, 802, 822, 844, 845] [INFO] [stdout] [INFO] [stdout] all vec: [32, 40, 41, 45, 68, 77, 96, 98, 102, 113, 115, 116, 125, 141, 142, 145, 153, 154, 178, 181, 182, 183, 218, 219, 230, 247, 253, 262, 265, 273, 277, 283, 294, 302, 311, 319, 333, 338, 348, 352, 372, 374, 375, 377, 392, 395, 396, 410, 412, 426, 427, 437, 449, 453, 486, 504, 505, 513, 533, 542, 546, 570, 573, 580, 583, 615, 622, 652, 653, 654, 658, 669, 697, 724, 731, 746, 751, 753, 760, 761, 776, 783, 793, 795, 797, 802, 817, 820, 822, 844, 845, 848, 856, 864, 869, 886, 897, 906, 927, 931, 933, 947, 967, 972, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [32, 40, 41, 45, 68, 77, 96, 98, 102, 113, 115, 116, 125, 141, 142, 145, 153, 154, 178, 181, 182, 183, 218, 219, 230, 247, 253, 262, 265, 273, 277, 283, 294, 302, 311, 319, 333, 338, 348, 352, 372, 374, 375, 377, 392, 395, 396, 410, 412, 426, 427, 437, 449, 453, 486, 504, 505, 513, 533, 542, 546, 570, 573, 580, 583, 615, 622, 652, 653, 654, 658, 669, 697, 724, 731, 746, 751, 753, 760, 761, 776, 783, 793, 795, 797, 802, 817, 820, 822, 844, 845, 848, 856, 864, 869, 886, 897, 906, 927, 931, 933, 947, 967, 972, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [32, 40, 41, 45, 68, 77, 96, 98, 102, 113, 115, 116, 125, 141, 142, 145, 153, 154, 178, 181, 182, 183, 218, 219, 230, 247, 253, 262, 265, 273, 277, 283, 294, 302, 311, 319, 333, 338, 348, 352, 372, 374, 375, 377, 392, 395, 396, 410, 412, 426, 427, 437, 449, 453, 486, 504, 505, 513, 533, 542, 546, 570, 573, 580, 583, 615, 622, 652, 653, 654, 658, 669, 697, 724, 731, 746, 751, 753, 760, 761, 776, 783, 793, 795, 797, 802, 817, 820, 822, 844, 845, 848, 856, 864, 869, 886, 897, 906, 927, 931, 933, 947, 967, 972, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {52, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 631, 632, 669, 676, 685, 686, 746, 768, 864, 876, 904, 916, 931, 986, 989, 999} [INFO] [stdout] b items: {60, 573, 766, 832, 901} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(52, 1000), fp: EncodedCountingMonoid(32, SumMonoid(19002)) }], item_sets: [ItemSet { range: Range(1000, 52), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(52, 832), fp: EncodedCountingMonoid(3, SumMonoid(1399)) }], item_sets: [ItemSet { range: Range(1000, 52), items: [], want_response: false }, ItemSet { range: Range(832, 1000), items: [832, 901], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(52, 541), fp: EncodedCountingMonoid(12, SumMonoid(3838)) }, Fingerprint { range: Range(541, 832), fp: EncodedCountingMonoid(12, SumMonoid(7699)) }], item_sets: [ItemSet { range: Range(832, 1000), items: [864, 876, 904, 916, 931, 986, 989, 999], want_response: false }], wants: [832, 901], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 541), items: [60], want_response: true }, ItemSet { range: Range(541, 832), items: [573, 766], want_response: true }], wants: [864, 876, 904, 916, 931, 986, 989, 999], provide: [(832, true), (901, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(52, 541), items: [52, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536], want_response: false }, ItemSet { range: Range(541, 832), items: [541, 542, 557, 566, 631, 632, 669, 676, 685, 686, 746, 768], want_response: false }], wants: [60, 573, 766], provide: [(864, true), (876, true), (904, true), (916, true), (931, true), (986, true), (989, true), (999, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [52, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 631, 632, 669, 676, 685, 686, 746, 768], provide: [(60, true), (573, true), (766, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(52, true), (73, true), (85, true), (145, true), (152, true), (408, true), (422, true), (448, true), (461, true), (527, true), (529, true), (536, true), (541, true), (542, true), (557, true), (566, true), (631, true), (632, true), (669, true), (676, true), (685, true), (686, true), (746, true), (768, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {52, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 631, 632, 669, 676, 685, 686, 746, 768, 864, 876, 904, 916, 931, 986, 989, 999} + [832, 901, 60, 573, 766] [INFO] [stdout] b all: {60, 573, 766, 832, 901} + [864, 876, 904, 916, 931, 986, 989, 999, 52, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 631, 632, 669, 676, 685, 686, 746, 768] [INFO] [stdout] [INFO] [stdout] all vec: [52, 60, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 573, 631, 632, 669, 676, 685, 686, 746, 766, 768, 832, 864, 876, 901, 904, 916, 931, 986, 989, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [52, 60, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 573, 631, 632, 669, 676, 685, 686, 746, 766, 768, 832, 864, 876, 901, 904, 916, 931, 986, 989, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [52, 60, 73, 85, 145, 152, 408, 422, 448, 461, 527, 529, 536, 541, 542, 557, 566, 573, 631, 632, 669, 676, 685, 686, 746, 766, 768, 832, 864, 876, 901, 904, 916, 931, 986, 989, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 14, 22, 50, 59, 131, 143, 166, 179, 186, 214, 220, 223, 233, 244, 265, 284, 288, 299, 313, 369, 375, 389, 421, 433, 445, 447, 449, 466, 475, 491, 509, 510, 521, 546, 563, 566, 599, 681, 683, 697, 710, 716, 718, 728, 745, 754, 755, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 989} [INFO] [stdout] b items: {5, 43, 65, 140, 201, 280, 298, 396, 414, 456, 496, 519, 558, 682, 686, 687, 698, 722, 736, 920, 928, 948, 994} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 990), fp: EncodedCountingMonoid(61, SumMonoid(30080)) }], item_sets: [ItemSet { range: Range(990, 7), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 558), fp: EncodedCountingMonoid(11, SumMonoid(3308)) }, Fingerprint { range: Range(558, 990), fp: EncodedCountingMonoid(10, SumMonoid(7565)) }], item_sets: [ItemSet { range: Range(990, 7), items: [994, 5], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 299), fp: EncodedCountingMonoid(18, SumMonoid(2928)) }, Fingerprint { range: Range(299, 558), fp: EncodedCountingMonoid(17, SumMonoid(7458)) }, Fingerprint { range: Range(558, 758), fp: EncodedCountingMonoid(13, SumMonoid(8915)) }, Fingerprint { range: Range(758, 990), fp: EncodedCountingMonoid(13, SumMonoid(10779)) }], item_sets: [], wants: [994, 5], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 201), fp: EncodedCountingMonoid(3, SumMonoid(248)) }, Fingerprint { range: Range(201, 299), fp: EncodedCountingMonoid(3, SumMonoid(779)) }, Fingerprint { range: Range(299, 496), fp: EncodedCountingMonoid(3, SumMonoid(1266)) }, Fingerprint { range: Range(558, 698), fp: EncodedCountingMonoid(4, SumMonoid(2613)) }, Fingerprint { range: Range(698, 758), fp: EncodedCountingMonoid(3, SumMonoid(2156)) }], item_sets: [ItemSet { range: Range(496, 558), items: [496, 519], want_response: true }, ItemSet { range: Range(758, 948), items: [920, 928], want_response: true }, ItemSet { range: Range(948, 990), items: [948], want_response: true }], wants: [], provide: [(994, true), (5, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 131), fp: EncodedCountingMonoid(5, SumMonoid(152)) }, Fingerprint { range: Range(131, 201), fp: EncodedCountingMonoid(5, SumMonoid(805)) }, Fingerprint { range: Range(201, 244), fp: EncodedCountingMonoid(4, SumMonoid(890)) }, Fingerprint { range: Range(244, 299), fp: EncodedCountingMonoid(4, SumMonoid(1081)) }, Fingerprint { range: Range(299, 445), fp: EncodedCountingMonoid(7, SumMonoid(2599)) }, Fingerprint { range: Range(445, 496), fp: EncodedCountingMonoid(6, SumMonoid(2773)) }, Fingerprint { range: Range(558, 681), fp: EncodedCountingMonoid(3, SumMonoid(1728)) }, Fingerprint { range: Range(681, 698), fp: EncodedCountingMonoid(3, SumMonoid(2061)) }, Fingerprint { range: Range(698, 745), fp: EncodedCountingMonoid(4, SumMonoid(2872)) }, Fingerprint { range: Range(745, 758), fp: EncodedCountingMonoid(3, SumMonoid(2254)) }], item_sets: [ItemSet { range: Range(496, 558), items: [509, 510, 521, 546], want_response: false }, ItemSet { range: Range(758, 948), items: [758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895], want_response: false }, ItemSet { range: Range(948, 990), items: [989], want_response: false }], wants: [496, 519, 920, 928, 948], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 131), items: [43, 65], want_response: true }, ItemSet { range: Range(131, 201), items: [140], want_response: true }, ItemSet { range: Range(201, 244), items: [201], want_response: true }, ItemSet { range: Range(244, 299), items: [280, 298], want_response: true }, ItemSet { range: Range(299, 445), items: [396, 414], want_response: true }, ItemSet { range: Range(445, 496), items: [456], want_response: true }, ItemSet { range: Range(558, 681), items: [558], want_response: true }, ItemSet { range: Range(681, 687), items: [682, 686], want_response: true }, ItemSet { range: Range(687, 698), items: [687], want_response: true }, ItemSet { range: Range(698, 736), items: [698, 722], want_response: true }, ItemSet { range: Range(736, 745), items: [736], want_response: true }, ItemSet { range: Range(745, 758), items: [], want_response: true }], wants: [509, 510, 521, 546, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 989], provide: [(496, true), (519, true), (920, true), (928, true), (948, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 131), items: [7, 14, 22, 50, 59], want_response: false }, ItemSet { range: Range(131, 201), items: [131, 143, 166, 179, 186], want_response: false }, ItemSet { range: Range(201, 244), items: [214, 220, 223, 233], want_response: false }, ItemSet { range: Range(244, 299), items: [244, 265, 284, 288], want_response: false }, ItemSet { range: Range(299, 445), items: [299, 313, 369, 375, 389, 421, 433], want_response: false }, ItemSet { range: Range(445, 496), items: [445, 447, 449, 466, 475, 491], want_response: false }, ItemSet { range: Range(558, 681), items: [563, 566, 599], want_response: false }, ItemSet { range: Range(681, 687), items: [681, 683], want_response: false }, ItemSet { range: Range(687, 698), items: [697], want_response: false }, ItemSet { range: Range(698, 736), items: [710, 716, 718, 728], want_response: false }, ItemSet { range: Range(736, 745), items: [], want_response: false }, ItemSet { range: Range(745, 758), items: [745, 754, 755], want_response: false }], wants: [43, 65, 140, 201, 280, 298, 396, 414, 456, 558, 682, 686, 687, 698, 722, 736], provide: [(509, true), (510, true), (521, true), (546, true), (758, true), (763, true), (778, true), (784, true), (785, true), (792, true), (810, true), (817, true), (863, true), (869, true), (876, true), (895, true), (989, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [7, 14, 22, 50, 59, 131, 143, 166, 179, 186, 214, 220, 223, 233, 244, 265, 284, 288, 299, 313, 369, 375, 389, 421, 433, 445, 447, 449, 466, 475, 491, 563, 566, 599, 681, 683, 697, 710, 716, 718, 728, 745, 754, 755], provide: [(43, true), (65, true), (140, true), (201, true), (280, true), (298, true), (396, true), (414, true), (456, true), (558, true), (682, true), (686, true), (687, true), (698, true), (722, true), (736, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(7, true), (14, true), (22, true), (50, true), (59, true), (131, true), (143, true), (166, true), (179, true), (186, true), (214, true), (220, true), (223, true), (233, true), (244, true), (265, true), (284, true), (288, true), (299, true), (313, true), (369, true), (375, true), (389, true), (421, true), (433, true), (445, true), (447, true), (449, true), (466, true), (475, true), (491, true), (563, true), (566, true), (599, true), (681, true), (683, true), (697, true), (710, true), (716, true), (718, true), (728, true), (745, true), (754, true), (755, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 14, 22, 50, 59, 131, 143, 166, 179, 186, 214, 220, 223, 233, 244, 265, 284, 288, 299, 313, 369, 375, 389, 421, 433, 445, 447, 449, 466, 475, 491, 509, 510, 521, 546, 563, 566, 599, 681, 683, 697, 710, 716, 718, 728, 745, 754, 755, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 989} + [994, 5, 496, 519, 920, 928, 948, 43, 65, 140, 201, 280, 298, 396, 414, 456, 558, 682, 686, 687, 698, 722, 736] [INFO] [stdout] b all: {5, 43, 65, 140, 201, 280, 298, 396, 414, 456, 496, 519, 558, 682, 686, 687, 698, 722, 736, 920, 928, 948, 994} + [509, 510, 521, 546, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 989, 7, 14, 22, 50, 59, 131, 143, 166, 179, 186, 214, 220, 223, 233, 244, 265, 284, 288, 299, 313, 369, 375, 389, 421, 433, 445, 447, 449, 466, 475, 491, 563, 566, 599, 681, 683, 697, 710, 716, 718, 728, 745, 754, 755] [INFO] [stdout] [INFO] [stdout] all vec: [5, 7, 14, 22, 43, 50, 59, 65, 131, 140, 143, 166, 179, 186, 201, 214, 220, 223, 233, 244, 265, 280, 284, 288, 298, 299, 313, 369, 375, 389, 396, 414, 421, 433, 445, 447, 449, 456, 466, 475, 491, 496, 509, 510, 519, 521, 546, 558, 563, 566, 599, 681, 682, 683, 686, 687, 697, 698, 710, 716, 718, 722, 728, 736, 745, 754, 755, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 920, 928, 948, 989, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 7, 14, 22, 43, 50, 59, 65, 131, 140, 143, 166, 179, 186, 201, 214, 220, 223, 233, 244, 265, 280, 284, 288, 298, 299, 313, 369, 375, 389, 396, 414, 421, 433, 445, 447, 449, 456, 466, 475, 491, 496, 509, 510, 519, 521, 546, 558, 563, 566, 599, 681, 682, 683, 686, 687, 697, 698, 710, 716, 718, 722, 728, 736, 745, 754, 755, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 920, 928, 948, 989, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 7, 14, 22, 43, 50, 59, 65, 131, 140, 143, 166, 179, 186, 201, 214, 220, 223, 233, 244, 265, 280, 284, 288, 298, 299, 313, 369, 375, 389, 396, 414, 421, 433, 445, 447, 449, 456, 466, 475, 491, 496, 509, 510, 519, 521, 546, 558, 563, 566, 599, 681, 682, 683, 686, 687, 697, 698, 710, 716, 718, 722, 728, 736, 745, 754, 755, 758, 763, 778, 784, 785, 792, 810, 817, 863, 869, 876, 895, 920, 928, 948, 989, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {28, 42, 51, 89, 100, 121, 135, 141, 142, 156, 160, 177, 192, 196, 199, 215, 217, 228, 234, 240, 253, 271, 289, 305, 311, 312, 335, 336, 353, 357, 369, 378, 379, 382, 387, 403, 418, 419, 436, 444, 448, 457, 467, 495, 506, 513, 534, 541, 545, 547, 555, 587, 597, 613, 632, 634, 659, 661, 668, 680, 684, 688, 697, 713, 722, 735, 741, 749, 771, 783, 794, 823, 833, 835, 862, 866, 869, 874, 878, 881, 898, 914, 930, 933, 935, 940, 946, 960, 978, 980, 982} [INFO] [stdout] b items: {5, 9, 13, 23, 48, 52, 70, 80, 82, 90, 100, 109, 116, 159, 168, 171, 175, 194, 200, 201, 203, 209, 231, 232, 236, 247, 269, 276, 292, 293, 310, 329, 333, 338, 350, 355, 365, 372, 409, 427, 435, 444, 483, 505, 531, 576, 579, 583, 593, 601, 603, 606, 618, 657, 664, 667, 716, 728, 731, 745, 751, 774, 778, 780, 794, 801, 803, 811, 818, 820, 821, 839, 843, 854, 866, 868, 873, 902, 911, 929, 930, 941, 945, 946, 947, 961, 986} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(28, 983), fp: EncodedCountingMonoid(91, SumMonoid(47733)) }], item_sets: [ItemSet { range: Range(983, 28), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(28, 576), fp: EncodedCountingMonoid(41, SumMonoid(10489)) }, Fingerprint { range: Range(576, 983), fp: EncodedCountingMonoid(41, SumMonoid(31973)) }], item_sets: [ItemSet { range: Range(983, 28), items: [986, 5, 9, 13, 23], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(28, 335), fp: EncodedCountingMonoid(26, SumMonoid(4804)) }, Fingerprint { range: Range(335, 576), fp: EncodedCountingMonoid(25, SumMonoid(11004)) }, Fingerprint { range: Range(576, 823), fp: EncodedCountingMonoid(20, SumMonoid(13808)) }, Fingerprint { range: Range(823, 983), fp: EncodedCountingMonoid(20, SumMonoid(18117)) }], item_sets: [], wants: [986, 5, 9, 13, 23], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(28, 201), fp: EncodedCountingMonoid(15, SumMonoid(1814)) }, Fingerprint { range: Range(201, 335), fp: EncodedCountingMonoid(14, SumMonoid(3661)) }, Fingerprint { range: Range(335, 427), fp: EncodedCountingMonoid(6, SumMonoid(2189)) }, Fingerprint { range: Range(427, 576), fp: EncodedCountingMonoid(6, SumMonoid(2825)) }, Fingerprint { range: Range(576, 731), fp: EncodedCountingMonoid(13, SumMonoid(8191)) }, Fingerprint { range: Range(731, 823), fp: EncodedCountingMonoid(13, SumMonoid(10227)) }, Fingerprint { range: Range(823, 929), fp: EncodedCountingMonoid(8, SumMonoid(6956)) }, Fingerprint { range: Range(929, 983), fp: EncodedCountingMonoid(7, SumMonoid(6599)) }], item_sets: [], wants: [], provide: [(986, true), (5, true), (9, true), (13, true), (23, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(28, 142), fp: EncodedCountingMonoid(8, SumMonoid(707)) }, Fingerprint { range: Range(142, 201), fp: EncodedCountingMonoid(7, SumMonoid(1222)) }, Fingerprint { range: Range(201, 271), fp: EncodedCountingMonoid(6, SumMonoid(1387)) }, Fingerprint { range: Range(271, 335), fp: EncodedCountingMonoid(5, SumMonoid(1488)) }, Fingerprint { range: Range(335, 379), fp: EncodedCountingMonoid(6, SumMonoid(2128)) }, Fingerprint { range: Range(379, 427), fp: EncodedCountingMonoid(6, SumMonoid(2388)) }, Fingerprint { range: Range(427, 513), fp: EncodedCountingMonoid(7, SumMonoid(3253)) }, Fingerprint { range: Range(513, 576), fp: EncodedCountingMonoid(6, SumMonoid(3235)) }, Fingerprint { range: Range(576, 668), fp: EncodedCountingMonoid(7, SumMonoid(4383)) }, Fingerprint { range: Range(668, 731), fp: EncodedCountingMonoid(7, SumMonoid(4852)) }, Fingerprint { range: Range(731, 771), fp: EncodedCountingMonoid(3, SumMonoid(2225)) }, Fingerprint { range: Range(771, 823), fp: EncodedCountingMonoid(3, SumMonoid(2348)) }, Fingerprint { range: Range(823, 874), fp: EncodedCountingMonoid(6, SumMonoid(5088)) }, Fingerprint { range: Range(874, 929), fp: EncodedCountingMonoid(5, SumMonoid(4445)) }, Fingerprint { range: Range(929, 960), fp: EncodedCountingMonoid(5, SumMonoid(4684)) }, Fingerprint { range: Range(960, 983), fp: EncodedCountingMonoid(4, SumMonoid(3900)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(28, 90), fp: EncodedCountingMonoid(5, SumMonoid(332)) }, Fingerprint { range: Range(90, 142), fp: EncodedCountingMonoid(4, SumMonoid(415)) }, Fingerprint { range: Range(142, 175), fp: EncodedCountingMonoid(3, SumMonoid(498)) }, Fingerprint { range: Range(175, 201), fp: EncodedCountingMonoid(3, SumMonoid(569)) }, Fingerprint { range: Range(201, 232), fp: EncodedCountingMonoid(4, SumMonoid(844)) }, Fingerprint { range: Range(232, 271), fp: EncodedCountingMonoid(4, SumMonoid(984)) }, Fingerprint { range: Range(271, 310), fp: EncodedCountingMonoid(3, SumMonoid(861)) }, Fingerprint { range: Range(310, 335), fp: EncodedCountingMonoid(3, SumMonoid(972)) }, Fingerprint { range: Range(335, 365), fp: EncodedCountingMonoid(3, SumMonoid(1043)) }, Fingerprint { range: Range(427, 483), fp: EncodedCountingMonoid(3, SumMonoid(1306)) }, Fingerprint { range: Range(576, 606), fp: EncodedCountingMonoid(6, SumMonoid(3535)) }, Fingerprint { range: Range(606, 668), fp: EncodedCountingMonoid(5, SumMonoid(3212)) }, Fingerprint { range: Range(771, 803), fp: EncodedCountingMonoid(5, SumMonoid(3927)) }, Fingerprint { range: Range(803, 823), fp: EncodedCountingMonoid(5, SumMonoid(4073)) }, Fingerprint { range: Range(823, 866), fp: EncodedCountingMonoid(3, SumMonoid(2536)) }, Fingerprint { range: Range(866, 874), fp: EncodedCountingMonoid(3, SumMonoid(2607)) }, Fingerprint { range: Range(929, 945), fp: EncodedCountingMonoid(3, SumMonoid(2800)) }, Fingerprint { range: Range(945, 960), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(365, 379), items: [365, 372], want_response: true }, ItemSet { range: Range(379, 427), items: [409], want_response: true }, ItemSet { range: Range(483, 513), items: [483, 505], want_response: true }, ItemSet { range: Range(513, 576), items: [531], want_response: true }, ItemSet { range: Range(668, 731), items: [716, 728], want_response: true }, ItemSet { range: Range(731, 751), items: [731, 745], want_response: true }, ItemSet { range: Range(751, 771), items: [751], want_response: true }, ItemSet { range: Range(874, 929), items: [902, 911], want_response: true }, ItemSet { range: Range(960, 983), items: [961], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(427, 457), fp: EncodedCountingMonoid(3, SumMonoid(1328)) }, Fingerprint { range: Range(606, 659), fp: EncodedCountingMonoid(3, SumMonoid(1879)) }], item_sets: [ItemSet { range: Range(365, 379), items: [369, 378], want_response: false }, ItemSet { range: Range(379, 427), items: [379, 382, 387, 403, 418, 419], want_response: false }, ItemSet { range: Range(483, 513), items: [495, 506], want_response: false }, ItemSet { range: Range(513, 576), items: [513, 534, 541, 545, 547, 555], want_response: false }, ItemSet { range: Range(668, 731), items: [668, 680, 684, 688, 697, 713, 722], want_response: false }, ItemSet { range: Range(731, 751), items: [735, 741, 749], want_response: false }, ItemSet { range: Range(751, 771), items: [], want_response: false }, ItemSet { range: Range(874, 929), items: [874, 878, 881, 898, 914], want_response: false }, ItemSet { range: Range(960, 983), items: [960, 978, 980, 982], want_response: false }, ItemSet { range: Range(28, 51), items: [28, 42], want_response: true }, ItemSet { range: Range(51, 90), items: [51, 89], want_response: true }, ItemSet { range: Range(90, 135), items: [100, 121], want_response: true }, ItemSet { range: Range(135, 142), items: [135, 141], want_response: true }, ItemSet { range: Range(142, 160), items: [142, 156], want_response: true }, ItemSet { range: Range(160, 175), items: [160], want_response: true }, ItemSet { range: Range(175, 196), items: [177, 192], want_response: true }, ItemSet { range: Range(196, 201), items: [196, 199], want_response: true }, ItemSet { range: Range(201, 228), items: [215, 217], want_response: true }, ItemSet { range: Range(228, 232), items: [228], want_response: true }, ItemSet { range: Range(232, 253), items: [234, 240], want_response: true }, ItemSet { range: Range(253, 271), items: [253], want_response: true }, ItemSet { range: Range(271, 305), items: [271, 289], want_response: true }, ItemSet { range: Range(305, 310), items: [305], want_response: true }, ItemSet { range: Range(310, 335), items: [311, 312], want_response: true }, ItemSet { range: Range(335, 353), items: [335, 336], want_response: true }, ItemSet { range: Range(353, 365), items: [353, 357], want_response: true }, ItemSet { range: Range(457, 483), items: [457, 467], want_response: true }, ItemSet { range: Range(576, 606), items: [587, 597], want_response: true }, ItemSet { range: Range(659, 668), items: [659, 661], want_response: true }, ItemSet { range: Range(771, 794), items: [771, 783], want_response: true }, ItemSet { range: Range(794, 803), items: [794], want_response: true }, ItemSet { range: Range(803, 823), items: [], want_response: true }, ItemSet { range: Range(823, 835), items: [823, 833], want_response: true }, ItemSet { range: Range(835, 866), items: [835, 862], want_response: true }, ItemSet { range: Range(866, 874), items: [866, 869], want_response: true }, ItemSet { range: Range(929, 935), items: [930, 933], want_response: true }, ItemSet { range: Range(935, 945), items: [935, 940], want_response: true }, ItemSet { range: Range(945, 960), items: [946], want_response: true }], wants: [365, 372, 409, 483, 505, 531, 716, 728, 731, 745, 751, 902, 911, 961], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(28, 51), items: [48], want_response: false }, ItemSet { range: Range(51, 90), items: [52, 70, 80, 82], want_response: false }, ItemSet { range: Range(90, 135), items: [90, 100, 109, 116], want_response: false }, ItemSet { range: Range(135, 142), items: [], want_response: false }, ItemSet { range: Range(142, 160), items: [159], want_response: false }, ItemSet { range: Range(160, 175), items: [168, 171], want_response: false }, ItemSet { range: Range(175, 196), items: [175, 194], want_response: false }, ItemSet { range: Range(196, 201), items: [200], want_response: false }, ItemSet { range: Range(201, 228), items: [201, 203, 209], want_response: false }, ItemSet { range: Range(228, 232), items: [231], want_response: false }, ItemSet { range: Range(232, 253), items: [232, 236, 247], want_response: false }, ItemSet { range: Range(253, 271), items: [269], want_response: false }, ItemSet { range: Range(271, 305), items: [276, 292, 293], want_response: false }, ItemSet { range: Range(305, 310), items: [], want_response: false }, ItemSet { range: Range(310, 335), items: [310, 329, 333], want_response: false }, ItemSet { range: Range(335, 353), items: [338, 350], want_response: false }, ItemSet { range: Range(353, 365), items: [355], want_response: false }, ItemSet { range: Range(457, 483), items: [], want_response: false }, ItemSet { range: Range(576, 606), items: [576, 579, 583, 593, 601, 603], want_response: false }, ItemSet { range: Range(659, 668), items: [664, 667], want_response: false }, ItemSet { range: Range(771, 794), items: [774, 778, 780], want_response: false }, ItemSet { range: Range(794, 803), items: [794, 801], want_response: false }, ItemSet { range: Range(803, 823), items: [803, 811, 818, 820, 821], want_response: false }, ItemSet { range: Range(823, 835), items: [], want_response: false }, ItemSet { range: Range(835, 866), items: [839, 843, 854], want_response: false }, ItemSet { range: Range(866, 874), items: [866, 868, 873], want_response: false }, ItemSet { range: Range(929, 935), items: [929, 930], want_response: false }, ItemSet { range: Range(935, 945), items: [941], want_response: false }, ItemSet { range: Range(945, 960), items: [945, 946, 947], want_response: false }, ItemSet { range: Range(427, 444), items: [427, 435], want_response: true }, ItemSet { range: Range(444, 457), items: [444], want_response: true }, ItemSet { range: Range(606, 657), items: [606, 618], want_response: true }, ItemSet { range: Range(657, 659), items: [657], want_response: true }], wants: [369, 378, 379, 382, 387, 403, 418, 419, 495, 506, 513, 534, 541, 545, 547, 555, 668, 680, 684, 688, 697, 713, 722, 735, 741, 749, 874, 878, 881, 898, 914, 960, 978, 980, 982, 28, 42, 51, 89, 121, 135, 141, 142, 156, 160, 177, 192, 196, 199, 215, 217, 228, 234, 240, 253, 271, 289, 305, 311, 312, 335, 336, 353, 357, 457, 467, 587, 597, 659, 661, 771, 783, 823, 833, 835, 862, 869, 933, 935, 940], provide: [(365, true), (372, true), (409, true), (483, true), (505, true), (531, true), (716, true), (728, true), (731, true), (745, true), (751, true), (902, true), (911, true), (961, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(427, 444), items: [436], want_response: false }, ItemSet { range: Range(444, 457), items: [444, 448], want_response: false }, ItemSet { range: Range(606, 657), items: [613, 632, 634], want_response: false }, ItemSet { range: Range(657, 659), items: [], want_response: false }], wants: [48, 52, 70, 80, 82, 90, 109, 116, 159, 168, 171, 175, 194, 200, 201, 203, 209, 231, 232, 236, 247, 269, 276, 292, 293, 310, 329, 333, 338, 350, 355, 576, 579, 583, 593, 601, 603, 664, 667, 774, 778, 780, 801, 803, 811, 818, 820, 821, 839, 843, 854, 868, 873, 929, 941, 945, 947, 427, 435, 606, 618, 657], provide: [(369, true), (378, true), (379, true), (382, true), (387, true), (403, true), (418, true), (419, true), (495, true), (506, true), (513, true), (534, true), (541, true), (545, true), (547, true), (555, true), (668, true), (680, true), (684, true), (688, true), (697, true), (713, true), (722, true), (735, true), (741, true), (749, true), (874, true), (878, true), (881, true), (898, true), (914, true), (960, true), (978, true), (980, true), (982, true), (28, true), (42, true), (51, true), (89, true), (121, true), (135, true), (141, true), (142, true), (156, true), (160, true), (177, true), (192, true), (196, true), (199, true), (215, true), (217, true), (228, true), (234, true), (240, true), (253, true), (271, true), (289, true), (305, true), (311, true), (312, true), (335, true), (336, true), (353, true), (357, true), (457, true), (467, true), (587, true), (597, true), (659, true), (661, true), (771, true), (783, true), (823, true), (833, true), (835, true), (862, true), (869, true), (933, true), (935, true), (940, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [436, 448, 613, 632, 634], provide: [(48, true), (52, true), (70, true), (80, true), (82, true), (90, true), (109, true), (116, true), (159, true), (168, true), (171, true), (175, true), (194, true), (200, true), (201, true), (203, true), (209, true), (231, true), (232, true), (236, true), (247, true), (269, true), (276, true), (292, true), (293, true), (310, true), (329, true), (333, true), (338, true), (350, true), (355, true), (576, true), (579, true), (583, true), (593, true), (601, true), (603, true), (664, true), (667, true), (774, true), (778, true), (780, true), (801, true), (803, true), (811, true), (818, true), (820, true), (821, true), (839, true), (843, true), (854, true), (868, true), (873, true), (929, true), (941, true), (945, true), (947, true), (427, true), (435, true), (606, true), (618, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(436, true), (448, true), (613, true), (632, true), (634, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {28, 42, 51, 89, 100, 121, 135, 141, 142, 156, 160, 177, 192, 196, 199, 215, 217, 228, 234, 240, 253, 271, 289, 305, 311, 312, 335, 336, 353, 357, 369, 378, 379, 382, 387, 403, 418, 419, 436, 444, 448, 457, 467, 495, 506, 513, 534, 541, 545, 547, 555, 587, 597, 613, 632, 634, 659, 661, 668, 680, 684, 688, 697, 713, 722, 735, 741, 749, 771, 783, 794, 823, 833, 835, 862, 866, 869, 874, 878, 881, 898, 914, 930, 933, 935, 940, 946, 960, 978, 980, 982} + [986, 5, 9, 13, 23, 365, 372, 409, 483, 505, 531, 716, 728, 731, 745, 751, 902, 911, 961, 48, 52, 70, 80, 82, 90, 109, 116, 159, 168, 171, 175, 194, 200, 201, 203, 209, 231, 232, 236, 247, 269, 276, 292, 293, 310, 329, 333, 338, 350, 355, 576, 579, 583, 593, 601, 603, 664, 667, 774, 778, 780, 801, 803, 811, 818, 820, 821, 839, 843, 854, 868, 873, 929, 941, 945, 947, 427, 435, 606, 618, 657] [INFO] [stdout] b all: {5, 9, 13, 23, 48, 52, 70, 80, 82, 90, 100, 109, 116, 159, 168, 171, 175, 194, 200, 201, 203, 209, 231, 232, 236, 247, 269, 276, 292, 293, 310, 329, 333, 338, 350, 355, 365, 372, 409, 427, 435, 444, 483, 505, 531, 576, 579, 583, 593, 601, 603, 606, 618, 657, 664, 667, 716, 728, 731, 745, 751, 774, 778, 780, 794, 801, 803, 811, 818, 820, 821, 839, 843, 854, 866, 868, 873, 902, 911, 929, 930, 941, 945, 946, 947, 961, 986} + [369, 378, 379, 382, 387, 403, 418, 419, 495, 506, 513, 534, 541, 545, 547, 555, 668, 680, 684, 688, 697, 713, 722, 735, 741, 749, 874, 878, 881, 898, 914, 960, 978, 980, 982, 28, 42, 51, 89, 121, 135, 141, 142, 156, 160, 177, 192, 196, 199, 215, 217, 228, 234, 240, 253, 271, 289, 305, 311, 312, 335, 336, 353, 357, 457, 467, 587, 597, 659, 661, 771, 783, 823, 833, 835, 862, 869, 933, 935, 940, 436, 448, 613, 632, 634] [INFO] [stdout] [INFO] [stdout] all vec: [5, 9, 13, 23, 28, 42, 48, 51, 52, 70, 80, 82, 89, 90, 100, 109, 116, 121, 135, 141, 142, 156, 159, 160, 168, 171, 175, 177, 192, 194, 196, 199, 200, 201, 203, 209, 215, 217, 228, 231, 232, 234, 236, 240, 247, 253, 269, 271, 276, 289, 292, 293, 305, 310, 311, 312, 329, 333, 335, 336, 338, 350, 353, 355, 357, 365, 369, 372, 378, 379, 382, 387, 403, 409, 418, 419, 427, 435, 436, 444, 448, 457, 467, 483, 495, 505, 506, 513, 531, 534, 541, 545, 547, 555, 576, 579, 583, 587, 593, 597, 601, 603, 606, 613, 618, 632, 634, 657, 659, 661, 664, 667, 668, 680, 684, 688, 697, 713, 716, 722, 728, 731, 735, 741, 745, 749, 751, 771, 774, 778, 780, 783, 794, 801, 803, 811, 818, 820, 821, 823, 833, 835, 839, 843, 854, 862, 866, 868, 869, 873, 874, 878, 881, 898, 902, 911, 914, 929, 930, 933, 935, 940, 941, 945, 946, 947, 960, 961, 978, 980, 982, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 9, 13, 23, 28, 42, 48, 51, 52, 70, 80, 82, 89, 90, 100, 109, 116, 121, 135, 141, 142, 156, 159, 160, 168, 171, 175, 177, 192, 194, 196, 199, 200, 201, 203, 209, 215, 217, 228, 231, 232, 234, 236, 240, 247, 253, 269, 271, 276, 289, 292, 293, 305, 310, 311, 312, 329, 333, 335, 336, 338, 350, 353, 355, 357, 365, 369, 372, 378, 379, 382, 387, 403, 409, 418, 419, 427, 435, 436, 444, 448, 457, 467, 483, 495, 505, 506, 513, 531, 534, 541, 545, 547, 555, 576, 579, 583, 587, 593, 597, 601, 603, 606, 613, 618, 632, 634, 657, 659, 661, 664, 667, 668, 680, 684, 688, 697, 713, 716, 722, 728, 731, 735, 741, 745, 749, 751, 771, 774, 778, 780, 783, 794, 801, 803, 811, 818, 820, 821, 823, 833, 835, 839, 843, 854, 862, 866, 868, 869, 873, 874, 878, 881, 898, 902, 911, 914, 929, 930, 933, 935, 940, 941, 945, 946, 947, 960, 961, 978, 980, 982, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 9, 13, 23, 28, 42, 48, 51, 52, 70, 80, 82, 89, 90, 100, 109, 116, 121, 135, 141, 142, 156, 159, 160, 168, 171, 175, 177, 192, 194, 196, 199, 200, 201, 203, 209, 215, 217, 228, 231, 232, 234, 236, 240, 247, 253, 269, 271, 276, 289, 292, 293, 305, 310, 311, 312, 329, 333, 335, 336, 338, 350, 353, 355, 357, 365, 369, 372, 378, 379, 382, 387, 403, 409, 418, 419, 427, 435, 436, 444, 448, 457, 467, 483, 495, 505, 506, 513, 531, 534, 541, 545, 547, 555, 576, 579, 583, 587, 593, 597, 601, 603, 606, 613, 618, 632, 634, 657, 659, 661, 664, 667, 668, 680, 684, 688, 697, 713, 716, 722, 728, 731, 735, 741, 745, 749, 751, 771, 774, 778, 780, 783, 794, 801, 803, 811, 818, 820, 821, 823, 833, 835, 839, 843, 854, 862, 866, 868, 869, 873, 874, 878, 881, 898, 902, 911, 914, 929, 930, 933, 935, 940, 941, 945, 946, 947, 960, 961, 978, 980, 982, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {108, 112, 167, 182, 186, 217, 229, 243, 329, 344, 435, 471, 503, 535, 565, 598, 619, 658, 679, 730, 749, 750, 759, 771, 778, 794, 853, 868, 938, 969} [INFO] [stdout] b items: {3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 108, 111, 127, 137, 167, 173, 180, 186, 192, 197, 202, 209, 235, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 360, 369, 374, 378, 396, 397, 417, 426, 448, 451, 455, 462, 480, 504, 513, 527, 540, 559, 561, 562, 584, 596, 621, 622, 629, 634, 638, 652, 658, 691, 716, 719, 733, 735, 743, 746, 787, 807, 809, 814, 832, 840, 855, 860, 861, 879, 886, 899, 907, 911, 914, 956, 986, 994} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(108, 970), fp: EncodedCountingMonoid(30, SumMonoid(16139)) }], item_sets: [ItemSet { range: Range(970, 108), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(108, 480), fp: EncodedCountingMonoid(40, SumMonoid(11382)) }, Fingerprint { range: Range(480, 970), fp: EncodedCountingMonoid(40, SumMonoid(28780)) }], item_sets: [ItemSet { range: Range(970, 108), items: [986, 994, 3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(108, 229), fp: EncodedCountingMonoid(6, SumMonoid(972)) }, Fingerprint { range: Range(229, 480), fp: EncodedCountingMonoid(6, SumMonoid(2051)) }, Fingerprint { range: Range(480, 750), fp: EncodedCountingMonoid(9, SumMonoid(5636)) }, Fingerprint { range: Range(750, 970), fp: EncodedCountingMonoid(9, SumMonoid(7480)) }], item_sets: [], wants: [986, 994, 3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(108, 180), fp: EncodedCountingMonoid(6, SumMonoid(823)) }, Fingerprint { range: Range(180, 229), fp: EncodedCountingMonoid(6, SumMonoid(1166)) }, Fingerprint { range: Range(229, 322), fp: EncodedCountingMonoid(14, SumMonoid(3810)) }, Fingerprint { range: Range(322, 480), fp: EncodedCountingMonoid(14, SumMonoid(5583)) }, Fingerprint { range: Range(480, 629), fp: EncodedCountingMonoid(12, SumMonoid(6669)) }, Fingerprint { range: Range(629, 750), fp: EncodedCountingMonoid(12, SumMonoid(8294)) }, Fingerprint { range: Range(750, 861), fp: EncodedCountingMonoid(8, SumMonoid(6604)) }, Fingerprint { range: Range(861, 970), fp: EncodedCountingMonoid(8, SumMonoid(7213)) }], item_sets: [], wants: [], provide: [(986, true), (994, true), (3, true), (5, true), (18, true), (19, true), (25, true), (30, true), (41, true), (61, true), (65, true), (76, true), (82, true), (84, true), (92, true), (107, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(480, 598), fp: EncodedCountingMonoid(3, SumMonoid(1603)) }, Fingerprint { range: Range(750, 778), fp: EncodedCountingMonoid(3, SumMonoid(2280)) }, Fingerprint { range: Range(778, 861), fp: EncodedCountingMonoid(3, SumMonoid(2425)) }], item_sets: [ItemSet { range: Range(108, 167), items: [108, 112], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(180, 217), items: [182, 186], want_response: true }, ItemSet { range: Range(217, 229), items: [217], want_response: true }, ItemSet { range: Range(229, 322), items: [229, 243], want_response: true }, ItemSet { range: Range(322, 435), items: [329, 344], want_response: true }, ItemSet { range: Range(435, 480), items: [435, 471], want_response: true }, ItemSet { range: Range(598, 629), items: [598, 619], want_response: true }, ItemSet { range: Range(629, 730), items: [658, 679], want_response: true }, ItemSet { range: Range(730, 750), items: [730, 749], want_response: true }, ItemSet { range: Range(861, 969), items: [868, 938], want_response: true }, ItemSet { range: Range(969, 970), items: [969], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(480, 559), fp: EncodedCountingMonoid(5, SumMonoid(2564)) }, Fingerprint { range: Range(559, 598), fp: EncodedCountingMonoid(5, SumMonoid(2862)) }, Fingerprint { range: Range(778, 832), fp: EncodedCountingMonoid(4, SumMonoid(3217)) }, Fingerprint { range: Range(832, 861), fp: EncodedCountingMonoid(4, SumMonoid(3387)) }], item_sets: [ItemSet { range: Range(108, 167), items: [108, 111, 127, 137], want_response: false }, ItemSet { range: Range(167, 180), items: [167, 173], want_response: false }, ItemSet { range: Range(180, 217), items: [180, 186, 192, 197, 202, 209], want_response: false }, ItemSet { range: Range(217, 229), items: [], want_response: false }, ItemSet { range: Range(229, 322), items: [235, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307], want_response: false }, ItemSet { range: Range(322, 435), items: [322, 328, 360, 369, 374, 378, 396, 397, 417, 426], want_response: false }, ItemSet { range: Range(435, 480), items: [448, 451, 455, 462], want_response: false }, ItemSet { range: Range(598, 629), items: [621, 622], want_response: false }, ItemSet { range: Range(629, 730), items: [629, 634, 638, 652, 658, 691, 716, 719], want_response: false }, ItemSet { range: Range(730, 750), items: [733, 735, 743, 746], want_response: false }, ItemSet { range: Range(861, 969), items: [861, 879, 886, 899, 907, 911, 914, 956], want_response: false }, ItemSet { range: Range(969, 970), items: [], want_response: false }, ItemSet { range: Range(750, 778), items: [], want_response: true }], wants: [112, 182, 217, 229, 243, 329, 344, 435, 471, 598, 619, 679, 730, 749, 868, 938, 969], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(750, 778), items: [750, 759, 771], want_response: false }, ItemSet { range: Range(480, 559), items: [503, 535], want_response: true }, ItemSet { range: Range(559, 598), items: [565], want_response: true }, ItemSet { range: Range(778, 832), items: [778, 794], want_response: true }, ItemSet { range: Range(832, 861), items: [853], want_response: true }], wants: [111, 127, 137, 173, 180, 192, 197, 202, 209, 235, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 360, 369, 374, 378, 396, 397, 417, 426, 448, 451, 455, 462, 621, 622, 629, 634, 638, 652, 691, 716, 719, 733, 735, 743, 746, 861, 879, 886, 899, 907, 911, 914, 956], provide: [(112, true), (182, true), (217, true), (229, true), (243, true), (329, true), (344, true), (435, true), (471, true), (598, true), (619, true), (679, true), (730, true), (749, true), (868, true), (938, true), (969, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(480, 559), items: [480, 504, 513, 527, 540], want_response: false }, ItemSet { range: Range(559, 598), items: [559, 561, 562, 584, 596], want_response: false }, ItemSet { range: Range(778, 832), items: [787, 807, 809, 814], want_response: false }, ItemSet { range: Range(832, 861), items: [832, 840, 855, 860], want_response: false }], wants: [750, 759, 771, 503, 535, 565, 778, 794, 853], provide: [(111, true), (127, true), (137, true), (173, true), (180, true), (192, true), (197, true), (202, true), (209, true), (235, true), (247, true), (252, true), (254, true), (263, true), (264, true), (267, true), (276, true), (279, true), (283, true), (292, true), (293, true), (298, true), (307, true), (322, true), (328, true), (360, true), (369, true), (374, true), (378, true), (396, true), (397, true), (417, true), (426, true), (448, true), (451, true), (455, true), (462, true), (621, true), (622, true), (629, true), (634, true), (638, true), (652, true), (691, true), (716, true), (719, true), (733, true), (735, true), (743, true), (746, true), (861, true), (879, true), (886, true), (899, true), (907, true), (911, true), (914, true), (956, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [480, 504, 513, 527, 540, 559, 561, 562, 584, 596, 787, 807, 809, 814, 832, 840, 855, 860], provide: [(750, true), (759, true), (771, true), (503, true), (535, true), (565, true), (778, true), (794, true), (853, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(480, true), (504, true), (513, true), (527, true), (540, true), (559, true), (561, true), (562, true), (584, true), (596, true), (787, true), (807, true), (809, true), (814, true), (832, true), (840, true), (855, true), (860, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {108, 112, 167, 182, 186, 217, 229, 243, 329, 344, 435, 471, 503, 535, 565, 598, 619, 658, 679, 730, 749, 750, 759, 771, 778, 794, 853, 868, 938, 969} + [986, 994, 3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 111, 127, 137, 173, 180, 192, 197, 202, 209, 235, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 360, 369, 374, 378, 396, 397, 417, 426, 448, 451, 455, 462, 621, 622, 629, 634, 638, 652, 691, 716, 719, 733, 735, 743, 746, 861, 879, 886, 899, 907, 911, 914, 956, 480, 504, 513, 527, 540, 559, 561, 562, 584, 596, 787, 807, 809, 814, 832, 840, 855, 860] [INFO] [stdout] b all: {3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 108, 111, 127, 137, 167, 173, 180, 186, 192, 197, 202, 209, 235, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 360, 369, 374, 378, 396, 397, 417, 426, 448, 451, 455, 462, 480, 504, 513, 527, 540, 559, 561, 562, 584, 596, 621, 622, 629, 634, 638, 652, 658, 691, 716, 719, 733, 735, 743, 746, 787, 807, 809, 814, 832, 840, 855, 860, 861, 879, 886, 899, 907, 911, 914, 956, 986, 994} + [112, 182, 217, 229, 243, 329, 344, 435, 471, 598, 619, 679, 730, 749, 868, 938, 969, 750, 759, 771, 503, 535, 565, 778, 794, 853] [INFO] [stdout] [INFO] [stdout] all vec: [3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 108, 111, 112, 127, 137, 167, 173, 180, 182, 186, 192, 197, 202, 209, 217, 229, 235, 243, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 329, 344, 360, 369, 374, 378, 396, 397, 417, 426, 435, 448, 451, 455, 462, 471, 480, 503, 504, 513, 527, 535, 540, 559, 561, 562, 565, 584, 596, 598, 619, 621, 622, 629, 634, 638, 652, 658, 679, 691, 716, 719, 730, 733, 735, 743, 746, 749, 750, 759, 771, 778, 787, 794, 807, 809, 814, 832, 840, 853, 855, 860, 861, 868, 879, 886, 899, 907, 911, 914, 938, 956, 969, 986, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 108, 111, 112, 127, 137, 167, 173, 180, 182, 186, 192, 197, 202, 209, 217, 229, 235, 243, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 329, 344, 360, 369, 374, 378, 396, 397, 417, 426, 435, 448, 451, 455, 462, 471, 480, 503, 504, 513, 527, 535, 540, 559, 561, 562, 565, 584, 596, 598, 619, 621, 622, 629, 634, 638, 652, 658, 679, 691, 716, 719, 730, 733, 735, 743, 746, 749, 750, 759, 771, 778, 787, 794, 807, 809, 814, 832, 840, 853, 855, 860, 861, 868, 879, 886, 899, 907, 911, 914, 938, 956, 969, 986, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 5, 18, 19, 25, 30, 41, 61, 65, 76, 82, 84, 92, 107, 108, 111, 112, 127, 137, 167, 173, 180, 182, 186, 192, 197, 202, 209, 217, 229, 235, 243, 247, 252, 254, 263, 264, 267, 276, 279, 283, 292, 293, 298, 307, 322, 328, 329, 344, 360, 369, 374, 378, 396, 397, 417, 426, 435, 448, 451, 455, 462, 471, 480, 503, 504, 513, 527, 535, 540, 559, 561, 562, 565, 584, 596, 598, 619, 621, 622, 629, 634, 638, 652, 658, 679, 691, 716, 719, 730, 733, 735, 743, 746, 749, 750, 759, 771, 778, 787, 794, 807, 809, 814, 832, 840, 853, 855, 860, 861, 868, 879, 886, 899, 907, 911, 914, 938, 956, 969, 986, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {10, 67, 68, 83, 120, 132, 175, 188, 211, 216, 227, 230, 234, 249, 291, 297, 367, 368, 374, 378, 387, 404, 415, 446, 472, 478, 490, 536, 549, 555, 562, 568, 573, 585, 620, 689, 711, 714, 741, 742, 745, 762, 770, 773, 781, 783, 792, 801, 804, 805, 813, 834, 836, 864, 876, 877, 899, 908, 922, 927, 934, 995, 999} [INFO] [stdout] b items: {4, 20, 39, 58, 61, 62, 122, 147, 152, 162, 170, 205, 234, 236, 319, 332, 343, 350, 359, 363, 370, 371, 382, 388, 391, 402, 406, 426, 442, 458, 465, 509, 526, 532, 543, 611, 619, 627, 644, 673, 776, 812, 831, 856, 957, 966, 989, 993} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 1000), fp: EncodedCountingMonoid(63, SumMonoid(35022)) }], item_sets: [ItemSet { range: Range(1000, 10), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 402), fp: EncodedCountingMonoid(24, SumMonoid(5636)) }, Fingerprint { range: Range(402, 1000), fp: EncodedCountingMonoid(23, SumMonoid(15063)) }], item_sets: [ItemSet { range: Range(1000, 10), items: [4], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 230), fp: EncodedCountingMonoid(11, SumMonoid(1497)) }, Fingerprint { range: Range(230, 402), fp: EncodedCountingMonoid(10, SumMonoid(3175)) }, Fingerprint { range: Range(402, 770), fp: EncodedCountingMonoid(21, SumMonoid(12357)) }, Fingerprint { range: Range(770, 1000), fp: EncodedCountingMonoid(21, SumMonoid(17993)) }], item_sets: [], wants: [4], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 147), fp: EncodedCountingMonoid(6, SumMonoid(362)) }, Fingerprint { range: Range(147, 230), fp: EncodedCountingMonoid(5, SumMonoid(836)) }, Fingerprint { range: Range(230, 363), fp: EncodedCountingMonoid(7, SumMonoid(2173)) }, Fingerprint { range: Range(363, 402), fp: EncodedCountingMonoid(6, SumMonoid(2265)) }, Fingerprint { range: Range(402, 532), fp: EncodedCountingMonoid(8, SumMonoid(3634)) }, Fingerprint { range: Range(532, 770), fp: EncodedCountingMonoid(7, SumMonoid(4249)) }, Fingerprint { range: Range(770, 957), fp: EncodedCountingMonoid(4, SumMonoid(3275)) }, Fingerprint { range: Range(957, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3905)) }], item_sets: [], wants: [], provide: [(4, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 83), fp: EncodedCountingMonoid(3, SumMonoid(145)) }, Fingerprint { range: Range(83, 147), fp: EncodedCountingMonoid(3, SumMonoid(335)) }, Fingerprint { range: Range(147, 216), fp: EncodedCountingMonoid(3, SumMonoid(574)) }, Fingerprint { range: Range(230, 291), fp: EncodedCountingMonoid(3, SumMonoid(713)) }, Fingerprint { range: Range(363, 378), fp: EncodedCountingMonoid(3, SumMonoid(1109)) }, Fingerprint { range: Range(402, 472), fp: EncodedCountingMonoid(3, SumMonoid(1265)) }, Fingerprint { range: Range(472, 532), fp: EncodedCountingMonoid(3, SumMonoid(1440)) }, Fingerprint { range: Range(532, 689), fp: EncodedCountingMonoid(8, SumMonoid(4548)) }, Fingerprint { range: Range(689, 770), fp: EncodedCountingMonoid(7, SumMonoid(5104)) }, Fingerprint { range: Range(770, 836), fp: EncodedCountingMonoid(10, SumMonoid(7956)) }, Fingerprint { range: Range(836, 957), fp: EncodedCountingMonoid(9, SumMonoid(8043)) }], item_sets: [ItemSet { range: Range(216, 230), items: [216, 227], want_response: true }, ItemSet { range: Range(291, 363), items: [291, 297], want_response: true }, ItemSet { range: Range(378, 402), items: [378, 387], want_response: true }, ItemSet { range: Range(957, 1000), items: [995, 999], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 61), fp: EncodedCountingMonoid(3, SumMonoid(117)) }, Fingerprint { range: Range(147, 170), fp: EncodedCountingMonoid(3, SumMonoid(461)) }, Fingerprint { range: Range(402, 442), fp: EncodedCountingMonoid(3, SumMonoid(1234)) }, Fingerprint { range: Range(442, 472), fp: EncodedCountingMonoid(3, SumMonoid(1365)) }, Fingerprint { range: Range(532, 627), fp: EncodedCountingMonoid(4, SumMonoid(2305)) }, Fingerprint { range: Range(627, 689), fp: EncodedCountingMonoid(3, SumMonoid(1944)) }], item_sets: [ItemSet { range: Range(216, 230), items: [], want_response: false }, ItemSet { range: Range(291, 363), items: [319, 332, 343, 350, 359], want_response: false }, ItemSet { range: Range(378, 402), items: [382, 388, 391], want_response: false }, ItemSet { range: Range(957, 1000), items: [957, 966, 989, 993], want_response: false }, ItemSet { range: Range(61, 83), items: [61, 62], want_response: true }, ItemSet { range: Range(83, 147), items: [122], want_response: true }, ItemSet { range: Range(170, 216), items: [170, 205], want_response: true }, ItemSet { range: Range(230, 291), items: [234, 236], want_response: true }, ItemSet { range: Range(363, 371), items: [363, 370], want_response: true }, ItemSet { range: Range(371, 378), items: [371], want_response: true }, ItemSet { range: Range(472, 532), items: [509, 526], want_response: true }, ItemSet { range: Range(689, 770), items: [], want_response: true }, ItemSet { range: Range(770, 831), items: [776, 812], want_response: true }, ItemSet { range: Range(831, 836), items: [831], want_response: true }, ItemSet { range: Range(836, 957), items: [856], want_response: true }], wants: [216, 227, 291, 297, 378, 387, 995, 999], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(532, 568), fp: EncodedCountingMonoid(4, SumMonoid(2202)) }, Fingerprint { range: Range(568, 627), fp: EncodedCountingMonoid(4, SumMonoid(2346)) }], item_sets: [ItemSet { range: Range(61, 83), items: [67, 68], want_response: false }, ItemSet { range: Range(83, 147), items: [83, 120, 132], want_response: false }, ItemSet { range: Range(170, 216), items: [175, 188, 211], want_response: false }, ItemSet { range: Range(230, 291), items: [230, 234, 249], want_response: false }, ItemSet { range: Range(363, 371), items: [367, 368], want_response: false }, ItemSet { range: Range(371, 378), items: [374], want_response: false }, ItemSet { range: Range(472, 532), items: [472, 478, 490], want_response: false }, ItemSet { range: Range(689, 770), items: [689, 711, 714, 741, 742, 745, 762], want_response: false }, ItemSet { range: Range(770, 831), items: [770, 773, 781, 783, 792, 801, 804, 805, 813], want_response: false }, ItemSet { range: Range(831, 836), items: [834], want_response: false }, ItemSet { range: Range(836, 957), items: [836, 864, 876, 877, 899, 908, 922, 927, 934], want_response: false }, ItemSet { range: Range(10, 61), items: [10], want_response: true }, ItemSet { range: Range(147, 170), items: [], want_response: true }, ItemSet { range: Range(402, 442), items: [404, 415], want_response: true }, ItemSet { range: Range(442, 472), items: [446], want_response: true }, ItemSet { range: Range(627, 689), items: [], want_response: true }], wants: [319, 332, 343, 350, 359, 382, 388, 391, 957, 966, 989, 993, 61, 62, 122, 170, 205, 236, 363, 370, 371, 509, 526, 776, 812, 831, 856], provide: [(216, true), (227, true), (291, true), (297, true), (378, true), (387, true), (995, true), (999, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(10, 61), items: [20, 39, 58], want_response: false }, ItemSet { range: Range(147, 170), items: [147, 152, 162], want_response: false }, ItemSet { range: Range(402, 442), items: [402, 406, 426], want_response: false }, ItemSet { range: Range(442, 472), items: [442, 458, 465], want_response: false }, ItemSet { range: Range(627, 689), items: [627, 644, 673], want_response: false }, ItemSet { range: Range(532, 568), items: [532, 543], want_response: true }, ItemSet { range: Range(568, 627), items: [611, 619], want_response: true }], wants: [67, 68, 83, 120, 132, 175, 188, 211, 230, 249, 367, 368, 374, 472, 478, 490, 689, 711, 714, 741, 742, 745, 762, 770, 773, 781, 783, 792, 801, 804, 805, 813, 834, 836, 864, 876, 877, 899, 908, 922, 927, 934, 10, 404, 415, 446], provide: [(319, true), (332, true), (343, true), (350, true), (359, true), (382, true), (388, true), (391, true), (957, true), (966, true), (989, true), (993, true), (61, true), (62, true), (122, true), (170, true), (205, true), (236, true), (363, true), (370, true), (371, true), (509, true), (526, true), (776, true), (812, true), (831, true), (856, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(532, 568), items: [536, 549, 555, 562], want_response: false }, ItemSet { range: Range(568, 627), items: [568, 573, 585, 620], want_response: false }], wants: [20, 39, 58, 147, 152, 162, 402, 406, 426, 442, 458, 465, 627, 644, 673, 532, 543, 611, 619], provide: [(67, true), (68, true), (83, true), (120, true), (132, true), (175, true), (188, true), (211, true), (230, true), (249, true), (367, true), (368, true), (374, true), (472, true), (478, true), (490, true), (689, true), (711, true), (714, true), (741, true), (742, true), (745, true), (762, true), (770, true), (773, true), (781, true), (783, true), (792, true), (801, true), (804, true), (805, true), (813, true), (834, true), (836, true), (864, true), (876, true), (877, true), (899, true), (908, true), (922, true), (927, true), (934, true), (10, true), (404, true), (415, true), (446, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [536, 549, 555, 562, 568, 573, 585, 620], provide: [(20, true), (39, true), (58, true), (147, true), (152, true), (162, true), (402, true), (406, true), (426, true), (442, true), (458, true), (465, true), (627, true), (644, true), (673, true), (532, true), (543, true), (611, true), (619, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(536, true), (549, true), (555, true), (562, true), (568, true), (573, true), (585, true), (620, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {10, 67, 68, 83, 120, 132, 175, 188, 211, 216, 227, 230, 234, 249, 291, 297, 367, 368, 374, 378, 387, 404, 415, 446, 472, 478, 490, 536, 549, 555, 562, 568, 573, 585, 620, 689, 711, 714, 741, 742, 745, 762, 770, 773, 781, 783, 792, 801, 804, 805, 813, 834, 836, 864, 876, 877, 899, 908, 922, 927, 934, 995, 999} + [4, 319, 332, 343, 350, 359, 382, 388, 391, 957, 966, 989, 993, 61, 62, 122, 170, 205, 236, 363, 370, 371, 509, 526, 776, 812, 831, 856, 20, 39, 58, 147, 152, 162, 402, 406, 426, 442, 458, 465, 627, 644, 673, 532, 543, 611, 619] [INFO] [stdout] b all: {4, 20, 39, 58, 61, 62, 122, 147, 152, 162, 170, 205, 234, 236, 319, 332, 343, 350, 359, 363, 370, 371, 382, 388, 391, 402, 406, 426, 442, 458, 465, 509, 526, 532, 543, 611, 619, 627, 644, 673, 776, 812, 831, 856, 957, 966, 989, 993} + [216, 227, 291, 297, 378, 387, 995, 999, 67, 68, 83, 120, 132, 175, 188, 211, 230, 249, 367, 368, 374, 472, 478, 490, 689, 711, 714, 741, 742, 745, 762, 770, 773, 781, 783, 792, 801, 804, 805, 813, 834, 836, 864, 876, 877, 899, 908, 922, 927, 934, 10, 404, 415, 446, 536, 549, 555, 562, 568, 573, 585, 620] [INFO] [stdout] [INFO] [stdout] all vec: [4, 10, 20, 39, 58, 61, 62, 67, 68, 83, 120, 122, 132, 147, 152, 162, 170, 175, 188, 205, 211, 216, 227, 230, 234, 236, 249, 291, 297, 319, 332, 343, 350, 359, 363, 367, 368, 370, 371, 374, 378, 382, 387, 388, 391, 402, 404, 406, 415, 426, 442, 446, 458, 465, 472, 478, 490, 509, 526, 532, 536, 543, 549, 555, 562, 568, 573, 585, 611, 619, 620, 627, 644, 673, 689, 711, 714, 741, 742, 745, 762, 770, 773, 776, 781, 783, 792, 801, 804, 805, 812, 813, 831, 834, 836, 856, 864, 876, 877, 899, 908, 922, 927, 934, 957, 966, 989, 993, 995, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [4, 10, 20, 39, 58, 61, 62, 67, 68, 83, 120, 122, 132, 147, 152, 162, 170, 175, 188, 205, 211, 216, 227, 230, 234, 236, 249, 291, 297, 319, 332, 343, 350, 359, 363, 367, 368, 370, 371, 374, 378, 382, 387, 388, 391, 402, 404, 406, 415, 426, 442, 446, 458, 465, 472, 478, 490, 509, 526, 532, 536, 543, 549, 555, 562, 568, 573, 585, 611, 619, 620, 627, 644, 673, 689, 711, 714, 741, 742, 745, 762, 770, 773, 776, 781, 783, 792, 801, 804, 805, 812, 813, 831, 834, 836, 856, 864, 876, 877, 899, 908, 922, 927, 934, 957, 966, 989, 993, 995, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [4, 10, 20, 39, 58, 61, 62, 67, 68, 83, 120, 122, 132, 147, 152, 162, 170, 175, 188, 205, 211, 216, 227, 230, 234, 236, 249, 291, 297, 319, 332, 343, 350, 359, 363, 367, 368, 370, 371, 374, 378, 382, 387, 388, 391, 402, 404, 406, 415, 426, 442, 446, 458, 465, 472, 478, 490, 509, 526, 532, 536, 543, 549, 555, 562, 568, 573, 585, 611, 619, 620, 627, 644, 673, 689, 711, 714, 741, 742, 745, 762, 770, 773, 776, 781, 783, 792, 801, 804, 805, 812, 813, 831, 834, 836, 856, 864, 876, 877, 899, 908, 922, 927, 934, 957, 966, 989, 993, 995, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {383, 408, 432, 472, 475, 521, 528, 559, 692, 911} [INFO] [stdout] b items: {25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 391, 396, 412, 462, 464, 504, 555, 622, 645, 707, 708, 720, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 951, 986, 987} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(383, 912), fp: EncodedCountingMonoid(10, SumMonoid(5381)) }], item_sets: [ItemSet { range: Range(912, 383), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(383, 731), fp: EncodedCountingMonoid(12, SumMonoid(6586)) }, Fingerprint { range: Range(731, 912), fp: EncodedCountingMonoid(12, SumMonoid(9536)) }], item_sets: [ItemSet { range: Range(912, 383), items: [951, 986, 987, 25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(383, 521), fp: EncodedCountingMonoid(5, SumMonoid(2170)) }, Fingerprint { range: Range(521, 731), fp: EncodedCountingMonoid(4, SumMonoid(2300)) }], item_sets: [ItemSet { range: Range(731, 912), items: [911], want_response: true }], wants: [951, 986, 987, 25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(383, 462), fp: EncodedCountingMonoid(3, SumMonoid(1199)) }, Fingerprint { range: Range(462, 521), fp: EncodedCountingMonoid(3, SumMonoid(1430)) }, Fingerprint { range: Range(521, 707), fp: EncodedCountingMonoid(3, SumMonoid(1822)) }, Fingerprint { range: Range(707, 731), fp: EncodedCountingMonoid(3, SumMonoid(2135)) }], item_sets: [ItemSet { range: Range(731, 912), items: [731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872], want_response: false }], wants: [911], provide: [(951, true), (986, true), (987, true), (25, true), (35, true), (49, true), (105, true), (132, true), (152, true), (165, true), (177, true), (227, true), (248, true), (263, true), (333, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(383, 432), items: [383, 408], want_response: true }, ItemSet { range: Range(432, 462), items: [432], want_response: true }, ItemSet { range: Range(462, 521), items: [472, 475], want_response: true }, ItemSet { range: Range(521, 559), items: [521, 528], want_response: true }, ItemSet { range: Range(559, 707), items: [559, 692], want_response: true }, ItemSet { range: Range(707, 731), items: [], want_response: true }], wants: [731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872], provide: [(911, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(383, 432), items: [391, 396, 412], want_response: false }, ItemSet { range: Range(432, 462), items: [], want_response: false }, ItemSet { range: Range(462, 521), items: [462, 464, 504], want_response: false }, ItemSet { range: Range(521, 559), items: [555], want_response: false }, ItemSet { range: Range(559, 707), items: [622, 645], want_response: false }, ItemSet { range: Range(707, 731), items: [707, 708, 720], want_response: false }], wants: [383, 408, 432, 472, 475, 521, 528, 559, 692], provide: [(731, true), (749, true), (758, true), (763, true), (772, true), (773, true), (788, true), (813, true), (819, true), (833, true), (865, true), (872, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [391, 396, 412, 462, 464, 504, 555, 622, 645, 707, 708, 720], provide: [(383, true), (408, true), (432, true), (472, true), (475, true), (521, true), (528, true), (559, true), (692, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(391, true), (396, true), (412, true), (462, true), (464, true), (504, true), (555, true), (622, true), (645, true), (707, true), (708, true), (720, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {383, 408, 432, 472, 475, 521, 528, 559, 692, 911} + [951, 986, 987, 25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 391, 396, 412, 462, 464, 504, 555, 622, 645, 707, 708, 720] [INFO] [stdout] b all: {25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 391, 396, 412, 462, 464, 504, 555, 622, 645, 707, 708, 720, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 951, 986, 987} + [911, 383, 408, 432, 472, 475, 521, 528, 559, 692] [INFO] [stdout] [INFO] [stdout] all vec: [25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 383, 391, 396, 408, 412, 432, 462, 464, 472, 475, 504, 521, 528, 555, 559, 622, 645, 692, 707, 708, 720, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 911, 951, 986, 987] [INFO] [stdout] [INFO] [stdout] a all vec: [25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 383, 391, 396, 408, 412, 432, 462, 464, 472, 475, 504, 521, 528, 555, 559, 622, 645, 692, 707, 708, 720, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 911, 951, 986, 987], true true [INFO] [stdout] [INFO] [stdout] b all vec: [25, 35, 49, 105, 132, 152, 165, 177, 227, 248, 263, 333, 383, 391, 396, 408, 412, 432, 462, 464, 472, 475, 504, 521, 528, 555, 559, 622, 645, 692, 707, 708, 720, 731, 749, 758, 763, 772, 773, 788, 813, 819, 833, 865, 872, 911, 951, 986, 987], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 23, 28, 34, 42, 45, 58, 69, 73, 77, 94, 121, 138, 139, 146, 150, 180, 191, 215, 250, 252, 254, 259, 265, 275, 278, 280, 282, 307, 340, 344, 350, 379, 387, 428, 450, 508, 524, 554, 555, 574, 585, 599, 627, 631, 637, 656, 657, 658, 683, 692, 728, 731, 746, 747, 761, 771, 777, 779, 785, 811, 820, 832, 841, 874, 875, 878, 885, 899, 935, 936, 949, 970} [INFO] [stdout] b items: {3, 24, 28, 33, 37, 40, 46, 52, 53, 69, 75, 76, 77, 89, 100, 112, 116, 119, 126, 129, 130, 132, 145, 156, 158, 171, 172, 183, 190, 202, 208, 253, 286, 290, 295, 311, 342, 361, 389, 390, 396, 403, 406, 413, 444, 474, 509, 514, 523, 546, 556, 558, 563, 573, 576, 588, 618, 626, 665, 714, 715, 724, 735, 737, 747, 751, 771, 783, 788, 789, 793, 805, 810, 841, 855, 866, 887, 888, 895, 920, 934, 978, 979} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 971), fp: EncodedCountingMonoid(73, SumMonoid(34679)) }], item_sets: [ItemSet { range: Range(971, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 403), fp: EncodedCountingMonoid(40, SumMonoid(6561)) }, Fingerprint { range: Range(403, 971), fp: EncodedCountingMonoid(40, SumMonoid(27303)) }], item_sets: [ItemSet { range: Range(971, 6), items: [978, 979, 3], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 191), fp: EncodedCountingMonoid(17, SumMonoid(1423)) }, Fingerprint { range: Range(191, 403), fp: EncodedCountingMonoid(17, SumMonoid(4908)) }, Fingerprint { range: Range(403, 747), fp: EncodedCountingMonoid(20, SumMonoid(12223)) }, Fingerprint { range: Range(747, 971), fp: EncodedCountingMonoid(19, SumMonoid(16125)) }], item_sets: [], wants: [978, 979, 3], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 112), fp: EncodedCountingMonoid(14, SumMonoid(799)) }, Fingerprint { range: Range(112, 191), fp: EncodedCountingMonoid(14, SumMonoid(2039)) }, Fingerprint { range: Range(191, 311), fp: EncodedCountingMonoid(6, SumMonoid(1534)) }, Fingerprint { range: Range(311, 403), fp: EncodedCountingMonoid(6, SumMonoid(2189)) }, Fingerprint { range: Range(403, 573), fp: EncodedCountingMonoid(12, SumMonoid(5909)) }, Fingerprint { range: Range(573, 747), fp: EncodedCountingMonoid(11, SumMonoid(7271)) }, Fingerprint { range: Range(747, 841), fp: EncodedCountingMonoid(9, SumMonoid(7037)) }, Fingerprint { range: Range(841, 971), fp: EncodedCountingMonoid(8, SumMonoid(7086)) }], item_sets: [], wants: [], provide: [(978, true), (979, true), (3, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 58), fp: EncodedCountingMonoid(6, SumMonoid(178)) }, Fingerprint { range: Range(58, 112), fp: EncodedCountingMonoid(5, SumMonoid(371)) }, Fingerprint { range: Range(112, 146), fp: EncodedCountingMonoid(3, SumMonoid(398)) }, Fingerprint { range: Range(146, 191), fp: EncodedCountingMonoid(3, SumMonoid(476)) }, Fingerprint { range: Range(191, 265), fp: EncodedCountingMonoid(6, SumMonoid(1421)) }, Fingerprint { range: Range(265, 311), fp: EncodedCountingMonoid(6, SumMonoid(1687)) }, Fingerprint { range: Range(311, 379), fp: EncodedCountingMonoid(3, SumMonoid(1034)) }, Fingerprint { range: Range(403, 524), fp: EncodedCountingMonoid(3, SumMonoid(1386)) }, Fingerprint { range: Range(524, 573), fp: EncodedCountingMonoid(3, SumMonoid(1633)) }, Fingerprint { range: Range(573, 657), fp: EncodedCountingMonoid(7, SumMonoid(4309)) }, Fingerprint { range: Range(657, 747), fp: EncodedCountingMonoid(7, SumMonoid(4895)) }, Fingerprint { range: Range(747, 785), fp: EncodedCountingMonoid(5, SumMonoid(3835)) }, Fingerprint { range: Range(785, 841), fp: EncodedCountingMonoid(4, SumMonoid(3248)) }, Fingerprint { range: Range(841, 899), fp: EncodedCountingMonoid(5, SumMonoid(4353)) }, Fingerprint { range: Range(899, 971), fp: EncodedCountingMonoid(5, SumMonoid(4689)) }], item_sets: [ItemSet { range: Range(379, 403), items: [379, 387], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 40), fp: EncodedCountingMonoid(4, SumMonoid(122)) }, Fingerprint { range: Range(40, 58), fp: EncodedCountingMonoid(4, SumMonoid(191)) }, Fingerprint { range: Range(58, 77), fp: EncodedCountingMonoid(3, SumMonoid(220)) }, Fingerprint { range: Range(77, 112), fp: EncodedCountingMonoid(3, SumMonoid(266)) }, Fingerprint { range: Range(112, 129), fp: EncodedCountingMonoid(4, SumMonoid(473)) }, Fingerprint { range: Range(129, 146), fp: EncodedCountingMonoid(4, SumMonoid(536)) }, Fingerprint { range: Range(146, 172), fp: EncodedCountingMonoid(3, SumMonoid(485)) }, Fingerprint { range: Range(172, 191), fp: EncodedCountingMonoid(3, SumMonoid(545)) }, Fingerprint { range: Range(403, 474), fp: EncodedCountingMonoid(4, SumMonoid(1666)) }, Fingerprint { range: Range(474, 524), fp: EncodedCountingMonoid(4, SumMonoid(2020)) }, Fingerprint { range: Range(573, 618), fp: EncodedCountingMonoid(3, SumMonoid(1737)) }, Fingerprint { range: Range(657, 724), fp: EncodedCountingMonoid(3, SumMonoid(2094)) }, Fingerprint { range: Range(724, 747), fp: EncodedCountingMonoid(3, SumMonoid(2196)) }, Fingerprint { range: Range(785, 805), fp: EncodedCountingMonoid(3, SumMonoid(2370)) }, Fingerprint { range: Range(841, 887), fp: EncodedCountingMonoid(3, SumMonoid(2562)) }, Fingerprint { range: Range(887, 899), fp: EncodedCountingMonoid(3, SumMonoid(2670)) }], item_sets: [ItemSet { range: Range(379, 403), items: [389, 390, 396], want_response: false }, ItemSet { range: Range(191, 253), items: [202, 208], want_response: true }, ItemSet { range: Range(253, 265), items: [253], want_response: true }, ItemSet { range: Range(265, 295), items: [286, 290], want_response: true }, ItemSet { range: Range(295, 311), items: [295], want_response: true }, ItemSet { range: Range(311, 361), items: [311, 342], want_response: true }, ItemSet { range: Range(361, 379), items: [361], want_response: true }, ItemSet { range: Range(524, 558), items: [546, 556], want_response: true }, ItemSet { range: Range(558, 573), items: [558, 563], want_response: true }, ItemSet { range: Range(618, 657), items: [618, 626], want_response: true }, ItemSet { range: Range(747, 771), items: [747, 751], want_response: true }, ItemSet { range: Range(771, 785), items: [771, 783], want_response: true }, ItemSet { range: Range(805, 841), items: [805, 810], want_response: true }, ItemSet { range: Range(899, 971), items: [920, 934], want_response: true }], wants: [379, 387], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(841, 878), fp: EncodedCountingMonoid(3, SumMonoid(2590)) }], item_sets: [ItemSet { range: Range(191, 253), items: [191, 215, 250, 252], want_response: false }, ItemSet { range: Range(253, 265), items: [254, 259], want_response: false }, ItemSet { range: Range(265, 295), items: [265, 275, 278, 280, 282], want_response: false }, ItemSet { range: Range(295, 311), items: [307], want_response: false }, ItemSet { range: Range(311, 361), items: [340, 344, 350], want_response: false }, ItemSet { range: Range(361, 379), items: [], want_response: false }, ItemSet { range: Range(524, 558), items: [524, 554, 555], want_response: false }, ItemSet { range: Range(558, 573), items: [], want_response: false }, ItemSet { range: Range(618, 657), items: [627, 631, 637, 656], want_response: false }, ItemSet { range: Range(747, 771), items: [747, 761], want_response: false }, ItemSet { range: Range(771, 785), items: [771, 777, 779], want_response: false }, ItemSet { range: Range(805, 841), items: [811, 820, 832], want_response: false }, ItemSet { range: Range(899, 971), items: [899, 935, 936, 949, 970], want_response: false }, ItemSet { range: Range(6, 28), items: [6, 23], want_response: true }, ItemSet { range: Range(28, 40), items: [28, 34], want_response: true }, ItemSet { range: Range(40, 58), items: [42, 45], want_response: true }, ItemSet { range: Range(58, 73), items: [58, 69], want_response: true }, ItemSet { range: Range(73, 77), items: [73], want_response: true }, ItemSet { range: Range(77, 112), items: [77, 94], want_response: true }, ItemSet { range: Range(112, 129), items: [121], want_response: true }, ItemSet { range: Range(129, 146), items: [138, 139], want_response: true }, ItemSet { range: Range(146, 172), items: [146, 150], want_response: true }, ItemSet { range: Range(172, 191), items: [180], want_response: true }, ItemSet { range: Range(403, 474), items: [428, 450], want_response: true }, ItemSet { range: Range(474, 524), items: [508], want_response: true }, ItemSet { range: Range(573, 599), items: [574, 585], want_response: true }, ItemSet { range: Range(599, 618), items: [599], want_response: true }, ItemSet { range: Range(657, 683), items: [657, 658], want_response: true }, ItemSet { range: Range(683, 724), items: [683, 692], want_response: true }, ItemSet { range: Range(724, 746), items: [728, 731], want_response: true }, ItemSet { range: Range(746, 747), items: [746], want_response: true }, ItemSet { range: Range(785, 805), items: [785], want_response: true }, ItemSet { range: Range(878, 887), items: [878, 885], want_response: true }, ItemSet { range: Range(887, 899), items: [], want_response: true }], wants: [389, 390, 396, 202, 208, 253, 286, 290, 295, 311, 342, 361, 546, 556, 558, 563, 618, 626, 751, 783, 805, 810, 920, 934], provide: [(379, true), (387, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 28), items: [24], want_response: false }, ItemSet { range: Range(28, 40), items: [28, 33, 37], want_response: false }, ItemSet { range: Range(40, 58), items: [40, 46, 52, 53], want_response: false }, ItemSet { range: Range(58, 73), items: [69], want_response: false }, ItemSet { range: Range(73, 77), items: [75, 76], want_response: false }, ItemSet { range: Range(77, 112), items: [77, 89, 100], want_response: false }, ItemSet { range: Range(112, 129), items: [112, 116, 119, 126], want_response: false }, ItemSet { range: Range(129, 146), items: [129, 130, 132, 145], want_response: false }, ItemSet { range: Range(146, 172), items: [156, 158, 171], want_response: false }, ItemSet { range: Range(172, 191), items: [172, 183, 190], want_response: false }, ItemSet { range: Range(403, 474), items: [403, 406, 413, 444], want_response: false }, ItemSet { range: Range(474, 524), items: [474, 509, 514, 523], want_response: false }, ItemSet { range: Range(573, 599), items: [573, 576, 588], want_response: false }, ItemSet { range: Range(599, 618), items: [], want_response: false }, ItemSet { range: Range(657, 683), items: [665], want_response: false }, ItemSet { range: Range(683, 724), items: [714, 715], want_response: false }, ItemSet { range: Range(724, 746), items: [724, 735, 737], want_response: false }, ItemSet { range: Range(746, 747), items: [], want_response: false }, ItemSet { range: Range(785, 805), items: [788, 789, 793], want_response: false }, ItemSet { range: Range(878, 887), items: [], want_response: false }, ItemSet { range: Range(887, 899), items: [887, 888, 895], want_response: false }, ItemSet { range: Range(841, 866), items: [841, 855], want_response: true }, ItemSet { range: Range(866, 878), items: [866], want_response: true }], wants: [191, 215, 250, 252, 254, 259, 265, 275, 278, 280, 282, 307, 340, 344, 350, 524, 554, 555, 627, 631, 637, 656, 761, 777, 779, 811, 820, 832, 899, 935, 936, 949, 970, 6, 23, 34, 42, 45, 58, 73, 94, 121, 138, 139, 146, 150, 180, 428, 450, 508, 574, 585, 599, 657, 658, 683, 692, 728, 731, 746, 785, 878, 885], provide: [(389, true), (390, true), (396, true), (202, true), (208, true), (253, true), (286, true), (290, true), (295, true), (311, true), (342, true), (361, true), (546, true), (556, true), (558, true), (563, true), (618, true), (626, true), (751, true), (783, true), (805, true), (810, true), (920, true), (934, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(841, 866), items: [841], want_response: false }, ItemSet { range: Range(866, 878), items: [874, 875], want_response: false }], wants: [24, 33, 37, 40, 46, 52, 53, 75, 76, 89, 100, 112, 116, 119, 126, 129, 130, 132, 145, 156, 158, 171, 172, 183, 190, 403, 406, 413, 444, 474, 509, 514, 523, 573, 576, 588, 665, 714, 715, 724, 735, 737, 788, 789, 793, 887, 888, 895, 855, 866], provide: [(191, true), (215, true), (250, true), (252, true), (254, true), (259, true), (265, true), (275, true), (278, true), (280, true), (282, true), (307, true), (340, true), (344, true), (350, true), (524, true), (554, true), (555, true), (627, true), (631, true), (637, true), (656, true), (761, true), (777, true), (779, true), (811, true), (820, true), (832, true), (899, true), (935, true), (936, true), (949, true), (970, true), (6, true), (23, true), (34, true), (42, true), (45, true), (58, true), (73, true), (94, true), (121, true), (138, true), (139, true), (146, true), (150, true), (180, true), (428, true), (450, true), (508, true), (574, true), (585, true), (599, true), (657, true), (658, true), (683, true), (692, true), (728, true), (731, true), (746, true), (785, true), (878, true), (885, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [874, 875], provide: [(24, true), (33, true), (37, true), (40, true), (46, true), (52, true), (53, true), (75, true), (76, true), (89, true), (100, true), (112, true), (116, true), (119, true), (126, true), (129, true), (130, true), (132, true), (145, true), (156, true), (158, true), (171, true), (172, true), (183, true), (190, true), (403, true), (406, true), (413, true), (444, true), (474, true), (509, true), (514, true), (523, true), (573, true), (576, true), (588, true), (665, true), (714, true), (715, true), (724, true), (735, true), (737, true), (788, true), (789, true), (793, true), (887, true), (888, true), (895, true), (855, true), (866, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(874, true), (875, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 23, 28, 34, 42, 45, 58, 69, 73, 77, 94, 121, 138, 139, 146, 150, 180, 191, 215, 250, 252, 254, 259, 265, 275, 278, 280, 282, 307, 340, 344, 350, 379, 387, 428, 450, 508, 524, 554, 555, 574, 585, 599, 627, 631, 637, 656, 657, 658, 683, 692, 728, 731, 746, 747, 761, 771, 777, 779, 785, 811, 820, 832, 841, 874, 875, 878, 885, 899, 935, 936, 949, 970} + [978, 979, 3, 389, 390, 396, 202, 208, 253, 286, 290, 295, 311, 342, 361, 546, 556, 558, 563, 618, 626, 751, 783, 805, 810, 920, 934, 24, 33, 37, 40, 46, 52, 53, 75, 76, 89, 100, 112, 116, 119, 126, 129, 130, 132, 145, 156, 158, 171, 172, 183, 190, 403, 406, 413, 444, 474, 509, 514, 523, 573, 576, 588, 665, 714, 715, 724, 735, 737, 788, 789, 793, 887, 888, 895, 855, 866] [INFO] [stdout] b all: {3, 24, 28, 33, 37, 40, 46, 52, 53, 69, 75, 76, 77, 89, 100, 112, 116, 119, 126, 129, 130, 132, 145, 156, 158, 171, 172, 183, 190, 202, 208, 253, 286, 290, 295, 311, 342, 361, 389, 390, 396, 403, 406, 413, 444, 474, 509, 514, 523, 546, 556, 558, 563, 573, 576, 588, 618, 626, 665, 714, 715, 724, 735, 737, 747, 751, 771, 783, 788, 789, 793, 805, 810, 841, 855, 866, 887, 888, 895, 920, 934, 978, 979} + [379, 387, 191, 215, 250, 252, 254, 259, 265, 275, 278, 280, 282, 307, 340, 344, 350, 524, 554, 555, 627, 631, 637, 656, 761, 777, 779, 811, 820, 832, 899, 935, 936, 949, 970, 6, 23, 34, 42, 45, 58, 73, 94, 121, 138, 139, 146, 150, 180, 428, 450, 508, 574, 585, 599, 657, 658, 683, 692, 728, 731, 746, 785, 878, 885, 874, 875] [INFO] [stdout] [INFO] [stdout] all vec: [3, 6, 23, 24, 28, 33, 34, 37, 40, 42, 45, 46, 52, 53, 58, 69, 73, 75, 76, 77, 89, 94, 100, 112, 116, 119, 121, 126, 129, 130, 132, 138, 139, 145, 146, 150, 156, 158, 171, 172, 180, 183, 190, 191, 202, 208, 215, 250, 252, 253, 254, 259, 265, 275, 278, 280, 282, 286, 290, 295, 307, 311, 340, 342, 344, 350, 361, 379, 387, 389, 390, 396, 403, 406, 413, 428, 444, 450, 474, 508, 509, 514, 523, 524, 546, 554, 555, 556, 558, 563, 573, 574, 576, 585, 588, 599, 618, 626, 627, 631, 637, 656, 657, 658, 665, 683, 692, 714, 715, 724, 728, 731, 735, 737, 746, 747, 751, 761, 771, 777, 779, 783, 785, 788, 789, 793, 805, 810, 811, 820, 832, 841, 855, 866, 874, 875, 878, 885, 887, 888, 895, 899, 920, 934, 935, 936, 949, 970, 978, 979] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 6, 23, 24, 28, 33, 34, 37, 40, 42, 45, 46, 52, 53, 58, 69, 73, 75, 76, 77, 89, 94, 100, 112, 116, 119, 121, 126, 129, 130, 132, 138, 139, 145, 146, 150, 156, 158, 171, 172, 180, 183, 190, 191, 202, 208, 215, 250, 252, 253, 254, 259, 265, 275, 278, 280, 282, 286, 290, 295, 307, 311, 340, 342, 344, 350, 361, 379, 387, 389, 390, 396, 403, 406, 413, 428, 444, 450, 474, 508, 509, 514, 523, 524, 546, 554, 555, 556, 558, 563, 573, 574, 576, 585, 588, 599, 618, 626, 627, 631, 637, 656, 657, 658, 665, 683, 692, 714, 715, 724, 728, 731, 735, 737, 746, 747, 751, 761, 771, 777, 779, 783, 785, 788, 789, 793, 805, 810, 811, 820, 832, 841, 855, 866, 874, 875, 878, 885, 887, 888, 895, 899, 920, 934, 935, 936, 949, 970, 978, 979], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 6, 23, 24, 28, 33, 34, 37, 40, 42, 45, 46, 52, 53, 58, 69, 73, 75, 76, 77, 89, 94, 100, 112, 116, 119, 121, 126, 129, 130, 132, 138, 139, 145, 146, 150, 156, 158, 171, 172, 180, 183, 190, 191, 202, 208, 215, 250, 252, 253, 254, 259, 265, 275, 278, 280, 282, 286, 290, 295, 307, 311, 340, 342, 344, 350, 361, 379, 387, 389, 390, 396, 403, 406, 413, 428, 444, 450, 474, 508, 509, 514, 523, 524, 546, 554, 555, 556, 558, 563, 573, 574, 576, 585, 588, 599, 618, 626, 627, 631, 637, 656, 657, 658, 665, 683, 692, 714, 715, 724, 728, 731, 735, 737, 746, 747, 751, 761, 771, 777, 779, 783, 785, 788, 789, 793, 805, 810, 811, 820, 832, 841, 855, 866, 874, 875, 878, 885, 887, 888, 895, 899, 920, 934, 935, 936, 949, 970, 978, 979], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 8, 12, 14, 37, 42, 43, 47, 69, 93, 101, 109, 126, 127, 159, 178, 186, 188, 189, 199, 201, 203, 210, 230, 238, 316, 325, 326, 343, 344, 352, 355, 356, 366, 375, 386, 390, 393, 396, 399, 402, 408, 418, 419, 422, 437, 441, 456, 457, 467, 505, 506, 513, 522, 552, 558, 564, 584, 606, 621, 622, 626, 629, 666, 670, 678, 688, 721, 729, 734, 760, 765, 776, 787, 789, 793, 799, 805, 806, 826, 839, 859, 872, 916, 924, 931, 933, 945, 959, 976, 979, 986, 997} [INFO] [stdout] b items: {37, 39, 46, 49, 51, 57, 75, 85, 88, 117, 121, 127, 142, 155, 159, 160, 180, 181, 188, 190, 204, 210, 252, 264, 280, 299, 304, 308, 313, 319, 346, 348, 350, 356, 372, 386, 392, 404, 407, 420, 437, 449, 467, 481, 485, 491, 504, 518, 526, 527, 530, 535, 540, 544, 551, 591, 593, 605, 621, 626, 628, 633, 642, 653, 677, 689, 695, 700, 702, 704, 737, 740, 748, 772, 795, 828, 839, 847, 849, 889, 905, 930, 931, 938, 959} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 998), fp: EncodedCountingMonoid(93, SumMonoid(45076)) }], item_sets: [ItemSet { range: Range(998, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 481), fp: EncodedCountingMonoid(43, SumMonoid(10134)) }, Fingerprint { range: Range(481, 998), fp: EncodedCountingMonoid(42, SumMonoid(28698)) }], item_sets: [ItemSet { range: Range(998, 2), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 316), fp: EncodedCountingMonoid(25, SumMonoid(3011)) }, Fingerprint { range: Range(316, 481), fp: EncodedCountingMonoid(25, SumMonoid(9749)) }, Fingerprint { range: Range(481, 776), fp: EncodedCountingMonoid(22, SumMonoid(13819)) }, Fingerprint { range: Range(776, 998), fp: EncodedCountingMonoid(21, SumMonoid(18497)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 160), fp: EncodedCountingMonoid(15, SumMonoid(1348)) }, Fingerprint { range: Range(160, 316), fp: EncodedCountingMonoid(14, SumMonoid(3333)) }, Fingerprint { range: Range(316, 392), fp: EncodedCountingMonoid(7, SumMonoid(2477)) }, Fingerprint { range: Range(392, 481), fp: EncodedCountingMonoid(7, SumMonoid(2976)) }, Fingerprint { range: Range(481, 626), fp: EncodedCountingMonoid(16, SumMonoid(8642)) }, Fingerprint { range: Range(626, 776), fp: EncodedCountingMonoid(15, SumMonoid(10346)) }, Fingerprint { range: Range(776, 905), fp: EncodedCountingMonoid(6, SumMonoid(5047)) }, Fingerprint { range: Range(905, 998), fp: EncodedCountingMonoid(5, SumMonoid(4663)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 69), fp: EncodedCountingMonoid(8, SumMonoid(205)) }, Fingerprint { range: Range(69, 160), fp: EncodedCountingMonoid(7, SumMonoid(784)) }, Fingerprint { range: Range(160, 201), fp: EncodedCountingMonoid(5, SumMonoid(940)) }, Fingerprint { range: Range(201, 316), fp: EncodedCountingMonoid(5, SumMonoid(1082)) }, Fingerprint { range: Range(316, 355), fp: EncodedCountingMonoid(6, SumMonoid(2006)) }, Fingerprint { range: Range(355, 392), fp: EncodedCountingMonoid(6, SumMonoid(2228)) }, Fingerprint { range: Range(392, 422), fp: EncodedCountingMonoid(7, SumMonoid(2835)) }, Fingerprint { range: Range(422, 481), fp: EncodedCountingMonoid(6, SumMonoid(2680)) }, Fingerprint { range: Range(481, 564), fp: EncodedCountingMonoid(6, SumMonoid(3156)) }, Fingerprint { range: Range(564, 626), fp: EncodedCountingMonoid(5, SumMonoid(2997)) }, Fingerprint { range: Range(626, 721), fp: EncodedCountingMonoid(6, SumMonoid(3957)) }, Fingerprint { range: Range(721, 776), fp: EncodedCountingMonoid(5, SumMonoid(3709)) }, Fingerprint { range: Range(776, 806), fp: EncodedCountingMonoid(6, SumMonoid(4749)) }, Fingerprint { range: Range(806, 905), fp: EncodedCountingMonoid(5, SumMonoid(4202)) }, Fingerprint { range: Range(905, 959), fp: EncodedCountingMonoid(5, SumMonoid(4649)) }, Fingerprint { range: Range(959, 998), fp: EncodedCountingMonoid(5, SumMonoid(4897)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 49), fp: EncodedCountingMonoid(3, SumMonoid(122)) }, Fingerprint { range: Range(49, 69), fp: EncodedCountingMonoid(3, SumMonoid(157)) }, Fingerprint { range: Range(69, 127), fp: EncodedCountingMonoid(5, SumMonoid(486)) }, Fingerprint { range: Range(127, 160), fp: EncodedCountingMonoid(4, SumMonoid(583)) }, Fingerprint { range: Range(160, 188), fp: EncodedCountingMonoid(3, SumMonoid(521)) }, Fingerprint { range: Range(201, 299), fp: EncodedCountingMonoid(5, SumMonoid(1210)) }, Fingerprint { range: Range(299, 316), fp: EncodedCountingMonoid(4, SumMonoid(1224)) }, Fingerprint { range: Range(481, 527), fp: EncodedCountingMonoid(6, SumMonoid(3005)) }, Fingerprint { range: Range(527, 564), fp: EncodedCountingMonoid(6, SumMonoid(3227)) }, Fingerprint { range: Range(626, 689), fp: EncodedCountingMonoid(6, SumMonoid(3859)) }, Fingerprint { range: Range(689, 721), fp: EncodedCountingMonoid(5, SumMonoid(3490)) }, Fingerprint { range: Range(806, 849), fp: EncodedCountingMonoid(3, SumMonoid(2514)) }], item_sets: [ItemSet { range: Range(188, 201), items: [188, 190], want_response: true }, ItemSet { range: Range(316, 348), items: [319, 346], want_response: true }, ItemSet { range: Range(348, 355), items: [348, 350], want_response: true }, ItemSet { range: Range(355, 386), items: [356, 372], want_response: true }, ItemSet { range: Range(386, 392), items: [386], want_response: true }, ItemSet { range: Range(392, 407), items: [392, 404], want_response: true }, ItemSet { range: Range(407, 422), items: [407, 420], want_response: true }, ItemSet { range: Range(422, 467), items: [437, 449], want_response: true }, ItemSet { range: Range(467, 481), items: [467], want_response: true }, ItemSet { range: Range(564, 605), items: [591, 593], want_response: true }, ItemSet { range: Range(605, 626), items: [605, 621], want_response: true }, ItemSet { range: Range(721, 748), items: [737, 740], want_response: true }, ItemSet { range: Range(748, 776), items: [748, 772], want_response: true }, ItemSet { range: Range(776, 806), items: [795], want_response: true }, ItemSet { range: Range(849, 905), items: [849, 889], want_response: true }, ItemSet { range: Range(905, 931), items: [905, 930], want_response: true }, ItemSet { range: Range(931, 959), items: [931, 938], want_response: true }, ItemSet { range: Range(959, 998), items: [959], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 37), fp: EncodedCountingMonoid(4, SumMonoid(36)) }, Fingerprint { range: Range(37, 49), fp: EncodedCountingMonoid(4, SumMonoid(169)) }, Fingerprint { range: Range(69, 109), fp: EncodedCountingMonoid(3, SumMonoid(263)) }, Fingerprint { range: Range(201, 230), fp: EncodedCountingMonoid(3, SumMonoid(614)) }, Fingerprint { range: Range(626, 670), fp: EncodedCountingMonoid(3, SumMonoid(1921)) }, Fingerprint { range: Range(670, 689), fp: EncodedCountingMonoid(3, SumMonoid(2036)) }], item_sets: [ItemSet { range: Range(188, 201), items: [188, 189, 199], want_response: false }, ItemSet { range: Range(316, 348), items: [316, 325, 326, 343, 344], want_response: false }, ItemSet { range: Range(348, 355), items: [352], want_response: false }, ItemSet { range: Range(355, 386), items: [355, 356, 366, 375], want_response: false }, ItemSet { range: Range(386, 392), items: [386, 390], want_response: false }, ItemSet { range: Range(392, 407), items: [393, 396, 399, 402], want_response: false }, ItemSet { range: Range(407, 422), items: [408, 418, 419], want_response: false }, ItemSet { range: Range(422, 467), items: [422, 437, 441, 456, 457], want_response: false }, ItemSet { range: Range(467, 481), items: [467], want_response: false }, ItemSet { range: Range(564, 605), items: [564, 584], want_response: false }, ItemSet { range: Range(605, 626), items: [606, 621, 622], want_response: false }, ItemSet { range: Range(721, 748), items: [721, 729, 734], want_response: false }, ItemSet { range: Range(748, 776), items: [760, 765], want_response: false }, ItemSet { range: Range(776, 806), items: [776, 787, 789, 793, 799, 805], want_response: false }, ItemSet { range: Range(849, 905), items: [859, 872], want_response: false }, ItemSet { range: Range(905, 931), items: [916, 924], want_response: false }, ItemSet { range: Range(931, 959), items: [931, 933, 945], want_response: false }, ItemSet { range: Range(959, 998), items: [959, 976, 979, 986, 997], want_response: false }, ItemSet { range: Range(49, 69), items: [], want_response: true }, ItemSet { range: Range(109, 127), items: [109, 126], want_response: true }, ItemSet { range: Range(127, 160), items: [127, 159], want_response: true }, ItemSet { range: Range(160, 188), items: [178, 186], want_response: true }, ItemSet { range: Range(230, 299), items: [230, 238], want_response: true }, ItemSet { range: Range(299, 316), items: [], want_response: true }, ItemSet { range: Range(481, 513), items: [505, 506], want_response: true }, ItemSet { range: Range(513, 527), items: [513, 522], want_response: true }, ItemSet { range: Range(527, 564), items: [552, 558], want_response: true }, ItemSet { range: Range(689, 721), items: [], want_response: true }, ItemSet { range: Range(806, 839), items: [806, 826], want_response: true }, ItemSet { range: Range(839, 849), items: [839], want_response: true }], wants: [190, 319, 346, 348, 350, 372, 392, 404, 407, 420, 449, 591, 593, 605, 737, 740, 748, 772, 795, 849, 889, 905, 930, 938], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(626, 642), fp: EncodedCountingMonoid(3, SumMonoid(1887)) }], item_sets: [ItemSet { range: Range(49, 69), items: [49, 51, 57], want_response: false }, ItemSet { range: Range(109, 127), items: [117, 121], want_response: false }, ItemSet { range: Range(127, 160), items: [127, 142, 155, 159], want_response: false }, ItemSet { range: Range(160, 188), items: [160, 180, 181], want_response: false }, ItemSet { range: Range(230, 299), items: [252, 264, 280], want_response: false }, ItemSet { range: Range(299, 316), items: [299, 304, 308, 313], want_response: false }, ItemSet { range: Range(481, 513), items: [481, 485, 491, 504], want_response: false }, ItemSet { range: Range(513, 527), items: [518, 526], want_response: false }, ItemSet { range: Range(527, 564), items: [527, 530, 535, 540, 544, 551], want_response: false }, ItemSet { range: Range(689, 721), items: [689, 695, 700, 702, 704], want_response: false }, ItemSet { range: Range(806, 839), items: [828], want_response: false }, ItemSet { range: Range(839, 849), items: [839, 847], want_response: false }, ItemSet { range: Range(2, 37), items: [], want_response: true }, ItemSet { range: Range(37, 46), items: [37, 39], want_response: true }, ItemSet { range: Range(46, 49), items: [46], want_response: true }, ItemSet { range: Range(69, 88), items: [75, 85], want_response: true }, ItemSet { range: Range(88, 109), items: [88], want_response: true }, ItemSet { range: Range(201, 230), items: [204, 210], want_response: true }, ItemSet { range: Range(642, 670), items: [642, 653], want_response: true }, ItemSet { range: Range(670, 689), items: [677], want_response: true }], wants: [189, 199, 316, 325, 326, 343, 344, 352, 355, 366, 375, 390, 393, 396, 399, 402, 408, 418, 419, 422, 441, 456, 457, 564, 584, 606, 622, 721, 729, 734, 760, 765, 776, 787, 789, 793, 799, 805, 859, 872, 916, 924, 933, 945, 976, 979, 986, 997, 109, 126, 178, 186, 230, 238, 505, 506, 513, 522, 552, 558, 806, 826], provide: [(190, true), (319, true), (346, true), (348, true), (350, true), (372, true), (392, true), (404, true), (407, true), (420, true), (449, true), (591, true), (593, true), (605, true), (737, true), (740, true), (748, true), (772, true), (795, true), (849, true), (889, true), (905, true), (930, true), (938, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 37), items: [2, 8, 12, 14], want_response: false }, ItemSet { range: Range(37, 46), items: [37, 42, 43], want_response: false }, ItemSet { range: Range(46, 49), items: [47], want_response: false }, ItemSet { range: Range(69, 88), items: [69], want_response: false }, ItemSet { range: Range(88, 109), items: [93, 101], want_response: false }, ItemSet { range: Range(201, 230), items: [201, 203, 210], want_response: false }, ItemSet { range: Range(642, 670), items: [666], want_response: false }, ItemSet { range: Range(670, 689), items: [670, 678, 688], want_response: false }, ItemSet { range: Range(626, 642), items: [626, 629], want_response: true }], wants: [49, 51, 57, 117, 121, 142, 155, 160, 180, 181, 252, 264, 280, 299, 304, 308, 313, 481, 485, 491, 504, 518, 526, 527, 530, 535, 540, 544, 551, 689, 695, 700, 702, 704, 828, 847, 39, 46, 75, 85, 88, 204, 642, 653, 677], provide: [(189, true), (199, true), (316, true), (325, true), (326, true), (343, true), (344, true), (352, true), (355, true), (366, true), (375, true), (390, true), (393, true), (396, true), (399, true), (402, true), (408, true), (418, true), (419, true), (422, true), (441, true), (456, true), (457, true), (564, true), (584, true), (606, true), (622, true), (721, true), (729, true), (734, true), (760, true), (765, true), (776, true), (787, true), (789, true), (793, true), (799, true), (805, true), (859, true), (872, true), (916, true), (924, true), (933, true), (945, true), (976, true), (979, true), (986, true), (997, true), (109, true), (126, true), (178, true), (186, true), (230, true), (238, true), (505, true), (506, true), (513, true), (522, true), (552, true), (558, true), (806, true), (826, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(626, 642), items: [626, 628, 633], want_response: false }], wants: [2, 8, 12, 14, 42, 43, 47, 69, 93, 101, 201, 203, 666, 670, 678, 688, 629], provide: [(49, true), (51, true), (57, true), (117, true), (121, true), (142, true), (155, true), (160, true), (180, true), (181, true), (252, true), (264, true), (280, true), (299, true), (304, true), (308, true), (313, true), (481, true), (485, true), (491, true), (504, true), (518, true), (526, true), (527, true), (530, true), (535, true), (540, true), (544, true), (551, true), (689, true), (695, true), (700, true), (702, true), (704, true), (828, true), (847, true), (39, true), (46, true), (75, true), (85, true), (88, true), (204, true), (642, true), (653, true), (677, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [628, 633], provide: [(2, true), (8, true), (12, true), (14, true), (42, true), (43, true), (47, true), (69, true), (93, true), (101, true), (201, true), (203, true), (666, true), (670, true), (678, true), (688, true), (629, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(628, true), (633, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 8, 12, 14, 37, 42, 43, 47, 69, 93, 101, 109, 126, 127, 159, 178, 186, 188, 189, 199, 201, 203, 210, 230, 238, 316, 325, 326, 343, 344, 352, 355, 356, 366, 375, 386, 390, 393, 396, 399, 402, 408, 418, 419, 422, 437, 441, 456, 457, 467, 505, 506, 513, 522, 552, 558, 564, 584, 606, 621, 622, 626, 629, 666, 670, 678, 688, 721, 729, 734, 760, 765, 776, 787, 789, 793, 799, 805, 806, 826, 839, 859, 872, 916, 924, 931, 933, 945, 959, 976, 979, 986, 997} + [190, 319, 346, 348, 350, 372, 392, 404, 407, 420, 449, 591, 593, 605, 737, 740, 748, 772, 795, 849, 889, 905, 930, 938, 49, 51, 57, 117, 121, 142, 155, 160, 180, 181, 252, 264, 280, 299, 304, 308, 313, 481, 485, 491, 504, 518, 526, 527, 530, 535, 540, 544, 551, 689, 695, 700, 702, 704, 828, 847, 39, 46, 75, 85, 88, 204, 642, 653, 677, 628, 633] [INFO] [stdout] b all: {37, 39, 46, 49, 51, 57, 75, 85, 88, 117, 121, 127, 142, 155, 159, 160, 180, 181, 188, 190, 204, 210, 252, 264, 280, 299, 304, 308, 313, 319, 346, 348, 350, 356, 372, 386, 392, 404, 407, 420, 437, 449, 467, 481, 485, 491, 504, 518, 526, 527, 530, 535, 540, 544, 551, 591, 593, 605, 621, 626, 628, 633, 642, 653, 677, 689, 695, 700, 702, 704, 737, 740, 748, 772, 795, 828, 839, 847, 849, 889, 905, 930, 931, 938, 959} + [189, 199, 316, 325, 326, 343, 344, 352, 355, 366, 375, 390, 393, 396, 399, 402, 408, 418, 419, 422, 441, 456, 457, 564, 584, 606, 622, 721, 729, 734, 760, 765, 776, 787, 789, 793, 799, 805, 859, 872, 916, 924, 933, 945, 976, 979, 986, 997, 109, 126, 178, 186, 230, 238, 505, 506, 513, 522, 552, 558, 806, 826, 2, 8, 12, 14, 42, 43, 47, 69, 93, 101, 201, 203, 666, 670, 678, 688, 629] [INFO] [stdout] [INFO] [stdout] all vec: [2, 8, 12, 14, 37, 39, 42, 43, 46, 47, 49, 51, 57, 69, 75, 85, 88, 93, 101, 109, 117, 121, 126, 127, 142, 155, 159, 160, 178, 180, 181, 186, 188, 189, 190, 199, 201, 203, 204, 210, 230, 238, 252, 264, 280, 299, 304, 308, 313, 316, 319, 325, 326, 343, 344, 346, 348, 350, 352, 355, 356, 366, 372, 375, 386, 390, 392, 393, 396, 399, 402, 404, 407, 408, 418, 419, 420, 422, 437, 441, 449, 456, 457, 467, 481, 485, 491, 504, 505, 506, 513, 518, 522, 526, 527, 530, 535, 540, 544, 551, 552, 558, 564, 584, 591, 593, 605, 606, 621, 622, 626, 628, 629, 633, 642, 653, 666, 670, 677, 678, 688, 689, 695, 700, 702, 704, 721, 729, 734, 737, 740, 748, 760, 765, 772, 776, 787, 789, 793, 795, 799, 805, 806, 826, 828, 839, 847, 849, 859, 872, 889, 905, 916, 924, 930, 931, 933, 938, 945, 959, 976, 979, 986, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 8, 12, 14, 37, 39, 42, 43, 46, 47, 49, 51, 57, 69, 75, 85, 88, 93, 101, 109, 117, 121, 126, 127, 142, 155, 159, 160, 178, 180, 181, 186, 188, 189, 190, 199, 201, 203, 204, 210, 230, 238, 252, 264, 280, 299, 304, 308, 313, 316, 319, 325, 326, 343, 344, 346, 348, 350, 352, 355, 356, 366, 372, 375, 386, 390, 392, 393, 396, 399, 402, 404, 407, 408, 418, 419, 420, 422, 437, 441, 449, 456, 457, 467, 481, 485, 491, 504, 505, 506, 513, 518, 522, 526, 527, 530, 535, 540, 544, 551, 552, 558, 564, 584, 591, 593, 605, 606, 621, 622, 626, 628, 629, 633, 642, 653, 666, 670, 677, 678, 688, 689, 695, 700, 702, 704, 721, 729, 734, 737, 740, 748, 760, 765, 772, 776, 787, 789, 793, 795, 799, 805, 806, 826, 828, 839, 847, 849, 859, 872, 889, 905, 916, 924, 930, 931, 933, 938, 945, 959, 976, 979, 986, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 8, 12, 14, 37, 39, 42, 43, 46, 47, 49, 51, 57, 69, 75, 85, 88, 93, 101, 109, 117, 121, 126, 127, 142, 155, 159, 160, 178, 180, 181, 186, 188, 189, 190, 199, 201, 203, 204, 210, 230, 238, 252, 264, 280, 299, 304, 308, 313, 316, 319, 325, 326, 343, 344, 346, 348, 350, 352, 355, 356, 366, 372, 375, 386, 390, 392, 393, 396, 399, 402, 404, 407, 408, 418, 419, 420, 422, 437, 441, 449, 456, 457, 467, 481, 485, 491, 504, 505, 506, 513, 518, 522, 526, 527, 530, 535, 540, 544, 551, 552, 558, 564, 584, 591, 593, 605, 606, 621, 622, 626, 628, 629, 633, 642, 653, 666, 670, 677, 678, 688, 689, 695, 700, 702, 704, 721, 729, 734, 737, 740, 748, 760, 765, 772, 776, 787, 789, 793, 795, 799, 805, 806, 826, 828, 839, 847, 849, 859, 872, 889, 905, 916, 924, 930, 931, 933, 938, 945, 959, 976, 979, 986, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {7, 19, 74, 80, 85, 126, 130, 134, 156, 159, 170, 186, 199, 216, 223, 237, 250, 273, 285, 287, 290, 301, 324, 325, 326, 340, 342, 344, 361, 371, 390, 400, 415, 444, 448, 449, 461, 484, 488, 489, 499, 503, 524, 534, 551, 563, 571, 582, 601, 602, 619, 624, 632, 652, 674, 703, 706, 708, 745, 749, 784, 796, 801, 835, 844, 870, 887, 888, 903, 904, 911, 912, 927, 945, 950, 956, 958, 976, 980, 992, 999} [INFO] [stdout] b items: {14, 32, 38, 72, 76, 86, 90, 103, 118, 168, 171, 204, 209, 245, 252, 284, 303, 338, 352, 364, 367, 380, 403, 445, 454, 486, 526, 535, 537, 538, 555, 568, 585, 606, 615, 623, 643, 650, 670, 676, 692, 708, 729, 730, 743, 756, 761, 772, 801, 806, 812, 838, 855, 857, 874, 887, 894, 902, 908, 912, 920, 934, 943, 945, 972, 973, 984, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 1000), fp: EncodedCountingMonoid(81, SumMonoid(42448)) }], 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, 615), fp: EncodedCountingMonoid(34, SumMonoid(10504)) }, Fingerprint { range: Range(615, 1000), fp: EncodedCountingMonoid(34, SumMonoid(27775)) }], 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(25, SumMonoid(4862)) }, Fingerprint { range: Range(340, 615), fp: EncodedCountingMonoid(25, SumMonoid(11756)) }, Fingerprint { range: Range(615, 887), fp: EncodedCountingMonoid(16, SumMonoid(11742)) }, Fingerprint { range: Range(887, 1000), fp: EncodedCountingMonoid(15, SumMonoid(14088)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 168), fp: EncodedCountingMonoid(9, SumMonoid(629)) }, Fingerprint { range: Range(168, 340), fp: EncodedCountingMonoid(9, SumMonoid(2174)) }, Fingerprint { range: Range(340, 526), fp: EncodedCountingMonoid(8, SumMonoid(3251)) }, Fingerprint { range: Range(526, 615), fp: EncodedCountingMonoid(8, SumMonoid(4450)) }, Fingerprint { range: Range(615, 756), fp: EncodedCountingMonoid(11, SumMonoid(7479)) }, Fingerprint { range: Range(756, 887), fp: EncodedCountingMonoid(10, SumMonoid(8132)) }, Fingerprint { range: Range(887, 943), fp: EncodedCountingMonoid(7, SumMonoid(6357)) }, Fingerprint { range: Range(943, 1000), fp: EncodedCountingMonoid(6, SumMonoid(5807)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 126), fp: EncodedCountingMonoid(5, SumMonoid(265)) }, Fingerprint { range: Range(126, 168), fp: EncodedCountingMonoid(5, SumMonoid(705)) }, Fingerprint { range: Range(168, 285), fp: EncodedCountingMonoid(8, SumMonoid(1754)) }, Fingerprint { range: Range(285, 340), fp: EncodedCountingMonoid(7, SumMonoid(2138)) }, Fingerprint { range: Range(340, 448), fp: EncodedCountingMonoid(9, SumMonoid(3407)) }, Fingerprint { range: Range(448, 526), fp: EncodedCountingMonoid(9, SumMonoid(4345)) }, Fingerprint { range: Range(526, 582), fp: EncodedCountingMonoid(4, SumMonoid(2219)) }, Fingerprint { range: Range(582, 615), fp: EncodedCountingMonoid(3, SumMonoid(1785)) }, Fingerprint { range: Range(615, 703), fp: EncodedCountingMonoid(5, SumMonoid(3201)) }, Fingerprint { range: Range(703, 756), fp: EncodedCountingMonoid(5, SumMonoid(3611)) }, Fingerprint { range: Range(756, 835), fp: EncodedCountingMonoid(3, SumMonoid(2381)) }, Fingerprint { range: Range(835, 887), fp: EncodedCountingMonoid(3, SumMonoid(2549)) }, Fingerprint { range: Range(887, 911), fp: EncodedCountingMonoid(4, SumMonoid(3582)) }, Fingerprint { range: Range(911, 943), fp: EncodedCountingMonoid(3, SumMonoid(2750)) }, Fingerprint { range: Range(943, 976), fp: EncodedCountingMonoid(4, SumMonoid(3809)) }, Fingerprint { range: Range(976, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3947)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 86), fp: EncodedCountingMonoid(5, SumMonoid(232)) }, Fingerprint { range: Range(86, 126), fp: EncodedCountingMonoid(4, SumMonoid(397)) }, Fingerprint { range: Range(168, 245), fp: EncodedCountingMonoid(4, SumMonoid(752)) }, Fingerprint { range: Range(245, 285), fp: EncodedCountingMonoid(3, SumMonoid(781)) }, Fingerprint { range: Range(340, 380), fp: EncodedCountingMonoid(3, SumMonoid(1083)) }, Fingerprint { range: Range(380, 448), fp: EncodedCountingMonoid(3, SumMonoid(1228)) }, Fingerprint { range: Range(526, 538), fp: EncodedCountingMonoid(3, SumMonoid(1598)) }, Fingerprint { range: Range(538, 582), fp: EncodedCountingMonoid(3, SumMonoid(1661)) }, Fingerprint { range: Range(615, 670), fp: EncodedCountingMonoid(4, SumMonoid(2531)) }, Fingerprint { range: Range(670, 703), fp: EncodedCountingMonoid(3, SumMonoid(2038)) }, Fingerprint { range: Range(756, 801), fp: EncodedCountingMonoid(3, SumMonoid(2289)) }, Fingerprint { range: Range(801, 835), fp: EncodedCountingMonoid(3, SumMonoid(2419)) }], item_sets: [ItemSet { range: Range(126, 168), items: [], want_response: true }, ItemSet { range: Range(285, 340), items: [303, 338], want_response: true }, ItemSet { range: Range(448, 526), items: [454, 486], want_response: true }, ItemSet { range: Range(582, 615), items: [585, 606], want_response: true }, ItemSet { range: Range(703, 730), items: [708, 729], want_response: true }, ItemSet { range: Range(730, 756), items: [730, 743], want_response: true }, ItemSet { range: Range(835, 857), items: [838, 855], want_response: true }, ItemSet { range: Range(857, 887), items: [857, 874], want_response: true }, ItemSet { range: Range(887, 902), items: [887, 894], want_response: true }, ItemSet { range: Range(902, 911), items: [902, 908], want_response: true }, ItemSet { range: Range(911, 934), items: [912, 920], want_response: true }, ItemSet { range: Range(934, 943), items: [934], want_response: true }, ItemSet { range: Range(943, 972), items: [943, 945], want_response: true }, ItemSet { range: Range(972, 976), items: [972, 973], want_response: true }, ItemSet { range: Range(976, 1000), items: [984, 990], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(7, 80), fp: EncodedCountingMonoid(3, SumMonoid(100)) }, Fingerprint { range: Range(168, 216), fp: EncodedCountingMonoid(3, SumMonoid(555)) }, Fingerprint { range: Range(216, 245), fp: EncodedCountingMonoid(3, SumMonoid(676)) }, Fingerprint { range: Range(340, 361), fp: EncodedCountingMonoid(3, SumMonoid(1026)) }], item_sets: [ItemSet { range: Range(126, 168), items: [126, 130, 134, 156, 159], want_response: false }, ItemSet { range: Range(285, 340), items: [285, 287, 290, 301, 324, 325, 326], want_response: false }, ItemSet { range: Range(448, 526), items: [448, 449, 461, 484, 488, 489, 499, 503, 524], want_response: false }, ItemSet { range: Range(582, 615), items: [582, 601, 602], want_response: false }, ItemSet { range: Range(703, 730), items: [703, 706, 708], want_response: false }, ItemSet { range: Range(730, 756), items: [745, 749], want_response: false }, ItemSet { range: Range(835, 857), items: [835, 844], want_response: false }, ItemSet { range: Range(857, 887), items: [870], want_response: false }, ItemSet { range: Range(887, 902), items: [887, 888], want_response: false }, ItemSet { range: Range(902, 911), items: [903, 904], want_response: false }, ItemSet { range: Range(911, 934), items: [911, 912, 927], want_response: false }, ItemSet { range: Range(934, 943), items: [], want_response: false }, ItemSet { range: Range(943, 972), items: [945, 950, 956, 958], want_response: false }, ItemSet { range: Range(972, 976), items: [], want_response: false }, ItemSet { range: Range(976, 1000), items: [976, 980, 992, 999], want_response: false }, ItemSet { range: Range(80, 86), items: [80, 85], want_response: true }, ItemSet { range: Range(86, 126), items: [], want_response: true }, ItemSet { range: Range(245, 285), items: [250, 273], want_response: true }, ItemSet { range: Range(361, 380), items: [361, 371], want_response: true }, ItemSet { range: Range(380, 415), items: [390, 400], want_response: true }, ItemSet { range: Range(415, 448), items: [415, 444], want_response: true }, ItemSet { range: Range(526, 538), items: [534], want_response: true }, ItemSet { range: Range(538, 571), items: [551, 563], want_response: true }, ItemSet { range: Range(571, 582), items: [571], want_response: true }, ItemSet { range: Range(615, 632), items: [619, 624], want_response: true }, ItemSet { range: Range(632, 670), items: [632, 652], want_response: true }, ItemSet { range: Range(670, 703), items: [674], want_response: true }, ItemSet { range: Range(756, 801), items: [784, 796], want_response: true }, ItemSet { range: Range(801, 835), items: [801], want_response: true }], wants: [303, 338, 454, 486, 585, 606, 729, 730, 743, 838, 855, 857, 874, 894, 902, 908, 920, 934, 943, 972, 973, 984, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(7, 72), fp: EncodedCountingMonoid(3, SumMonoid(84)) }], item_sets: [ItemSet { range: Range(80, 86), items: [], want_response: false }, ItemSet { range: Range(86, 126), items: [86, 90, 103, 118], want_response: false }, ItemSet { range: Range(245, 285), items: [245, 252, 284], want_response: false }, ItemSet { range: Range(361, 380), items: [364, 367], want_response: false }, ItemSet { range: Range(380, 415), items: [380, 403], want_response: false }, ItemSet { range: Range(415, 448), items: [445], want_response: false }, ItemSet { range: Range(526, 538), items: [526, 535, 537], want_response: false }, ItemSet { range: Range(538, 571), items: [538, 555, 568], want_response: false }, ItemSet { range: Range(571, 582), items: [], want_response: false }, ItemSet { range: Range(615, 632), items: [615, 623], want_response: false }, ItemSet { range: Range(632, 670), items: [643, 650], want_response: false }, ItemSet { range: Range(670, 703), items: [670, 676, 692], want_response: false }, ItemSet { range: Range(756, 801), items: [756, 761, 772], want_response: false }, ItemSet { range: Range(801, 835), items: [801, 806, 812], want_response: false }, ItemSet { range: Range(72, 80), items: [72, 76], want_response: true }, ItemSet { range: Range(168, 204), items: [168, 171], want_response: true }, ItemSet { range: Range(204, 216), items: [204, 209], want_response: true }, ItemSet { range: Range(216, 245), items: [], want_response: true }, ItemSet { range: Range(340, 361), items: [352], want_response: true }], wants: [126, 130, 134, 156, 159, 285, 287, 290, 301, 324, 325, 326, 448, 449, 461, 484, 488, 489, 499, 503, 524, 582, 601, 602, 703, 706, 745, 749, 835, 844, 870, 888, 903, 904, 911, 927, 950, 956, 958, 976, 980, 992, 999, 80, 85, 250, 273, 361, 371, 390, 400, 415, 444, 534, 551, 563, 571, 619, 624, 632, 652, 674, 784, 796], provide: [(303, true), (338, true), (454, true), (486, true), (585, true), (606, true), (729, true), (730, true), (743, true), (838, true), (855, true), (857, true), (874, true), (894, true), (902, true), (908, true), (920, true), (934, true), (943, true), (972, true), (973, true), (984, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(72, 80), items: [74], want_response: false }, ItemSet { range: Range(168, 204), items: [170, 186, 199], want_response: false }, ItemSet { range: Range(204, 216), items: [], want_response: false }, ItemSet { range: Range(216, 245), items: [216, 223, 237], want_response: false }, ItemSet { range: Range(340, 361), items: [340, 342, 344], want_response: false }, ItemSet { range: Range(7, 72), items: [7, 19], want_response: true }], wants: [86, 90, 103, 118, 245, 252, 284, 364, 367, 380, 403, 445, 526, 535, 537, 538, 555, 568, 615, 623, 643, 650, 670, 676, 692, 756, 761, 772, 806, 812, 72, 76, 168, 171, 204, 209, 352], provide: [(126, true), (130, true), (134, true), (156, true), (159, true), (285, true), (287, true), (290, true), (301, true), (324, true), (325, true), (326, true), (448, true), (449, true), (461, true), (484, true), (488, true), (489, true), (499, true), (503, true), (524, true), (582, true), (601, true), (602, true), (703, true), (706, true), (745, true), (749, true), (835, true), (844, true), (870, true), (888, true), (903, true), (904, true), (911, true), (927, true), (950, true), (956, true), (958, true), (976, true), (980, true), (992, true), (999, true), (80, true), (85, true), (250, true), (273, true), (361, true), (371, true), (390, true), (400, true), (415, true), (444, true), (534, true), (551, true), (563, true), (571, true), (619, true), (624, true), (632, true), (652, true), (674, true), (784, true), (796, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(7, 72), items: [14, 32, 38], want_response: false }], wants: [74, 170, 186, 199, 216, 223, 237, 340, 342, 344, 7, 19], provide: [(86, true), (90, true), (103, true), (118, true), (245, true), (252, true), (284, true), (364, true), (367, true), (380, true), (403, true), (445, true), (526, true), (535, true), (537, true), (538, true), (555, true), (568, true), (615, true), (623, true), (643, true), (650, true), (670, true), (676, true), (692, true), (756, true), (761, true), (772, true), (806, true), (812, true), (72, true), (76, true), (168, true), (171, true), (204, true), (209, true), (352, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [14, 32, 38], provide: [(74, true), (170, true), (186, true), (199, true), (216, true), (223, true), (237, true), (340, true), (342, true), (344, true), (7, true), (19, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(14, true), (32, true), (38, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {7, 19, 74, 80, 85, 126, 130, 134, 156, 159, 170, 186, 199, 216, 223, 237, 250, 273, 285, 287, 290, 301, 324, 325, 326, 340, 342, 344, 361, 371, 390, 400, 415, 444, 448, 449, 461, 484, 488, 489, 499, 503, 524, 534, 551, 563, 571, 582, 601, 602, 619, 624, 632, 652, 674, 703, 706, 708, 745, 749, 784, 796, 801, 835, 844, 870, 887, 888, 903, 904, 911, 912, 927, 945, 950, 956, 958, 976, 980, 992, 999} + [303, 338, 454, 486, 585, 606, 729, 730, 743, 838, 855, 857, 874, 894, 902, 908, 920, 934, 943, 972, 973, 984, 990, 86, 90, 103, 118, 245, 252, 284, 364, 367, 380, 403, 445, 526, 535, 537, 538, 555, 568, 615, 623, 643, 650, 670, 676, 692, 756, 761, 772, 806, 812, 72, 76, 168, 171, 204, 209, 352, 14, 32, 38] [INFO] [stdout] b all: {14, 32, 38, 72, 76, 86, 90, 103, 118, 168, 171, 204, 209, 245, 252, 284, 303, 338, 352, 364, 367, 380, 403, 445, 454, 486, 526, 535, 537, 538, 555, 568, 585, 606, 615, 623, 643, 650, 670, 676, 692, 708, 729, 730, 743, 756, 761, 772, 801, 806, 812, 838, 855, 857, 874, 887, 894, 902, 908, 912, 920, 934, 943, 945, 972, 973, 984, 990} + [126, 130, 134, 156, 159, 285, 287, 290, 301, 324, 325, 326, 448, 449, 461, 484, 488, 489, 499, 503, 524, 582, 601, 602, 703, 706, 745, 749, 835, 844, 870, 888, 903, 904, 911, 927, 950, 956, 958, 976, 980, 992, 999, 80, 85, 250, 273, 361, 371, 390, 400, 415, 444, 534, 551, 563, 571, 619, 624, 632, 652, 674, 784, 796, 74, 170, 186, 199, 216, 223, 237, 340, 342, 344, 7, 19] [INFO] [stdout] [INFO] [stdout] all vec: [7, 14, 19, 32, 38, 72, 74, 76, 80, 85, 86, 90, 103, 118, 126, 130, 134, 156, 159, 168, 170, 171, 186, 199, 204, 209, 216, 223, 237, 245, 250, 252, 273, 284, 285, 287, 290, 301, 303, 324, 325, 326, 338, 340, 342, 344, 352, 361, 364, 367, 371, 380, 390, 400, 403, 415, 444, 445, 448, 449, 454, 461, 484, 486, 488, 489, 499, 503, 524, 526, 534, 535, 537, 538, 551, 555, 563, 568, 571, 582, 585, 601, 602, 606, 615, 619, 623, 624, 632, 643, 650, 652, 670, 674, 676, 692, 703, 706, 708, 729, 730, 743, 745, 749, 756, 761, 772, 784, 796, 801, 806, 812, 835, 838, 844, 855, 857, 870, 874, 887, 888, 894, 902, 903, 904, 908, 911, 912, 920, 927, 934, 943, 945, 950, 956, 958, 972, 973, 976, 980, 984, 990, 992, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 14, 19, 32, 38, 72, 74, 76, 80, 85, 86, 90, 103, 118, 126, 130, 134, 156, 159, 168, 170, 171, 186, 199, 204, 209, 216, 223, 237, 245, 250, 252, 273, 284, 285, 287, 290, 301, 303, 324, 325, 326, 338, 340, 342, 344, 352, 361, 364, 367, 371, 380, 390, 400, 403, 415, 444, 445, 448, 449, 454, 461, 484, 486, 488, 489, 499, 503, 524, 526, 534, 535, 537, 538, 551, 555, 563, 568, 571, 582, 585, 601, 602, 606, 615, 619, 623, 624, 632, 643, 650, 652, 670, 674, 676, 692, 703, 706, 708, 729, 730, 743, 745, 749, 756, 761, 772, 784, 796, 801, 806, 812, 835, 838, 844, 855, 857, 870, 874, 887, 888, 894, 902, 903, 904, 908, 911, 912, 920, 927, 934, 943, 945, 950, 956, 958, 972, 973, 976, 980, 984, 990, 992, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 14, 19, 32, 38, 72, 74, 76, 80, 85, 86, 90, 103, 118, 126, 130, 134, 156, 159, 168, 170, 171, 186, 199, 204, 209, 216, 223, 237, 245, 250, 252, 273, 284, 285, 287, 290, 301, 303, 324, 325, 326, 338, 340, 342, 344, 352, 361, 364, 367, 371, 380, 390, 400, 403, 415, 444, 445, 448, 449, 454, 461, 484, 486, 488, 489, 499, 503, 524, 526, 534, 535, 537, 538, 551, 555, 563, 568, 571, 582, 585, 601, 602, 606, 615, 619, 623, 624, 632, 643, 650, 652, 670, 674, 676, 692, 703, 706, 708, 729, 730, 743, 745, 749, 756, 761, 772, 784, 796, 801, 806, 812, 835, 838, 844, 855, 857, 870, 874, 887, 888, 894, 902, 903, 904, 908, 911, 912, 920, 927, 934, 943, 945, 950, 956, 958, 972, 973, 976, 980, 984, 990, 992, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 78, 106, 108, 120, 160, 174, 233, 253, 438, 666, 683, 696, 709, 718, 729, 780, 792, 940, 948, 978} [INFO] [stdout] b items: {3, 6, 7, 14, 16, 25, 29, 58, 87, 103, 141, 143, 157, 170, 180, 181, 191, 197, 206, 308, 324, 349, 351, 366, 386, 406, 429, 432, 500, 512, 519, 555, 557, 564, 567, 653, 655, 659, 679, 692, 747, 759, 781, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 944, 968, 972} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 979), fp: EncodedCountingMonoid(21, SumMonoid(10362)) }], item_sets: [ItemSet { range: Range(979, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 557), fp: EncodedCountingMonoid(25, SumMonoid(7251)) }, Fingerprint { range: Range(557, 979), fp: EncodedCountingMonoid(24, SumMonoid(18824)) }], item_sets: [ItemSet { range: Range(979, 53), items: [3, 6, 7, 14, 16, 25, 29], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 160), fp: EncodedCountingMonoid(5, SumMonoid(465)) }, Fingerprint { range: Range(160, 557), fp: EncodedCountingMonoid(5, SumMonoid(1258)) }, Fingerprint { range: Range(557, 780), fp: EncodedCountingMonoid(6, SumMonoid(4201)) }, Fingerprint { range: Range(780, 979), fp: EncodedCountingMonoid(5, SumMonoid(4438)) }], item_sets: [], wants: [3, 6, 7, 14, 16, 25, 29], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 141), fp: EncodedCountingMonoid(3, SumMonoid(248)) }, Fingerprint { range: Range(141, 160), fp: EncodedCountingMonoid(3, SumMonoid(441)) }, Fingerprint { range: Range(160, 366), fp: EncodedCountingMonoid(10, SumMonoid(2457)) }, Fingerprint { range: Range(366, 557), fp: EncodedCountingMonoid(9, SumMonoid(4105)) }, Fingerprint { range: Range(557, 659), fp: EncodedCountingMonoid(5, SumMonoid(2996)) }, Fingerprint { range: Range(659, 780), fp: EncodedCountingMonoid(5, SumMonoid(3536)) }, Fingerprint { range: Range(780, 885), fp: EncodedCountingMonoid(7, SumMonoid(5784)) }, Fingerprint { range: Range(885, 979), fp: EncodedCountingMonoid(7, SumMonoid(6508)) }], item_sets: [], wants: [], provide: [(3, true), (6, true), (7, true), (14, true), (16, true), (25, true), (29, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 108), fp: EncodedCountingMonoid(3, SumMonoid(237)) }, Fingerprint { range: Range(659, 709), fp: EncodedCountingMonoid(3, SumMonoid(2045)) }, Fingerprint { range: Range(709, 780), fp: EncodedCountingMonoid(3, SumMonoid(2156)) }], item_sets: [ItemSet { range: Range(108, 141), items: [108, 120], want_response: true }, ItemSet { range: Range(141, 160), items: [], want_response: true }, ItemSet { range: Range(160, 233), items: [160, 174], want_response: true }, ItemSet { range: Range(233, 366), items: [233, 253], want_response: true }, ItemSet { range: Range(366, 557), items: [438], want_response: true }, ItemSet { range: Range(557, 659), items: [], want_response: true }, ItemSet { range: Range(780, 885), items: [780, 792], want_response: true }, ItemSet { range: Range(885, 978), items: [940, 948], want_response: true }, ItemSet { range: Range(978, 979), items: [978], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(108, 141), items: [], want_response: false }, ItemSet { range: Range(141, 160), items: [141, 143, 157], want_response: false }, ItemSet { range: Range(160, 233), items: [170, 180, 181, 191, 197, 206], want_response: false }, ItemSet { range: Range(233, 366), items: [308, 324, 349, 351], want_response: false }, ItemSet { range: Range(366, 557), items: [366, 386, 406, 429, 432, 500, 512, 519, 555], want_response: false }, ItemSet { range: Range(557, 659), items: [557, 564, 567, 653, 655], want_response: false }, ItemSet { range: Range(780, 885), items: [781, 795, 811, 823, 833, 858, 883], want_response: false }, ItemSet { range: Range(885, 978), items: [885, 897, 920, 922, 944, 968, 972], want_response: false }, ItemSet { range: Range(978, 979), items: [], want_response: false }, ItemSet { range: Range(53, 103), items: [58, 87], want_response: true }, ItemSet { range: Range(103, 108), items: [103], want_response: true }, ItemSet { range: Range(659, 692), items: [659, 679], want_response: true }, ItemSet { range: Range(692, 709), items: [692], want_response: true }, ItemSet { range: Range(709, 780), items: [747, 759], want_response: true }], wants: [108, 120, 160, 174, 233, 253, 438, 780, 792, 940, 948, 978], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(53, 103), items: [53, 78], want_response: false }, ItemSet { range: Range(103, 108), items: [106], want_response: false }, ItemSet { range: Range(659, 692), items: [666, 683], want_response: false }, ItemSet { range: Range(692, 709), items: [696], want_response: false }, ItemSet { range: Range(709, 780), items: [709, 718, 729], want_response: false }], wants: [141, 143, 157, 170, 180, 181, 191, 197, 206, 308, 324, 349, 351, 366, 386, 406, 429, 432, 500, 512, 519, 555, 557, 564, 567, 653, 655, 781, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 944, 968, 972, 58, 87, 103, 659, 679, 692, 747, 759], provide: [(108, true), (120, true), (160, true), (174, true), (233, true), (253, true), (438, true), (780, true), (792, true), (940, true), (948, true), (978, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [53, 78, 106, 666, 683, 696, 709, 718, 729], provide: [(141, true), (143, true), (157, true), (170, true), (180, true), (181, true), (191, true), (197, true), (206, true), (308, true), (324, true), (349, true), (351, true), (366, true), (386, true), (406, true), (429, true), (432, true), (500, true), (512, true), (519, true), (555, true), (557, true), (564, true), (567, true), (653, true), (655, true), (781, true), (795, true), (811, true), (823, true), (833, true), (858, true), (883, true), (885, true), (897, true), (920, true), (922, true), (944, true), (968, true), (972, true), (58, true), (87, true), (103, true), (659, true), (679, true), (692, true), (747, true), (759, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(53, true), (78, true), (106, true), (666, true), (683, true), (696, true), (709, true), (718, true), (729, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 78, 106, 108, 120, 160, 174, 233, 253, 438, 666, 683, 696, 709, 718, 729, 780, 792, 940, 948, 978} + [3, 6, 7, 14, 16, 25, 29, 141, 143, 157, 170, 180, 181, 191, 197, 206, 308, 324, 349, 351, 366, 386, 406, 429, 432, 500, 512, 519, 555, 557, 564, 567, 653, 655, 781, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 944, 968, 972, 58, 87, 103, 659, 679, 692, 747, 759] [INFO] [stdout] b all: {3, 6, 7, 14, 16, 25, 29, 58, 87, 103, 141, 143, 157, 170, 180, 181, 191, 197, 206, 308, 324, 349, 351, 366, 386, 406, 429, 432, 500, 512, 519, 555, 557, 564, 567, 653, 655, 659, 679, 692, 747, 759, 781, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 944, 968, 972} + [108, 120, 160, 174, 233, 253, 438, 780, 792, 940, 948, 978, 53, 78, 106, 666, 683, 696, 709, 718, 729] [INFO] [stdout] [INFO] [stdout] all vec: [3, 6, 7, 14, 16, 25, 29, 53, 58, 78, 87, 103, 106, 108, 120, 141, 143, 157, 160, 170, 174, 180, 181, 191, 197, 206, 233, 253, 308, 324, 349, 351, 366, 386, 406, 429, 432, 438, 500, 512, 519, 555, 557, 564, 567, 653, 655, 659, 666, 679, 683, 692, 696, 709, 718, 729, 747, 759, 780, 781, 792, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 940, 944, 948, 968, 972, 978] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 6, 7, 14, 16, 25, 29, 53, 58, 78, 87, 103, 106, 108, 120, 141, 143, 157, 160, 170, 174, 180, 181, 191, 197, 206, 233, 253, 308, 324, 349, 351, 366, 386, 406, 429, 432, 438, 500, 512, 519, 555, 557, 564, 567, 653, 655, 659, 666, 679, 683, 692, 696, 709, 718, 729, 747, 759, 780, 781, 792, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 940, 944, 948, 968, 972, 978], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 6, 7, 14, 16, 25, 29, 53, 58, 78, 87, 103, 106, 108, 120, 141, 143, 157, 160, 170, 174, 180, 181, 191, 197, 206, 233, 253, 308, 324, 349, 351, 366, 386, 406, 429, 432, 438, 500, 512, 519, 555, 557, 564, 567, 653, 655, 659, 666, 679, 683, 692, 696, 709, 718, 729, 747, 759, 780, 781, 792, 795, 811, 823, 833, 858, 883, 885, 897, 920, 922, 940, 944, 948, 968, 972, 978], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {22, 23, 43, 46, 59, 79, 117, 125, 141, 143, 148, 161, 163, 171, 176, 182, 186, 206, 208, 213, 239, 252, 253, 254, 260, 268, 271, 307, 309, 311, 327, 332, 336, 355, 358, 359, 379, 393, 420, 421, 424, 447, 450, 457, 462, 486, 488, 529, 570, 583, 586, 599, 607, 616, 633, 639, 645, 649, 686, 695, 714, 760, 764, 771, 779, 783, 785, 798, 812, 884, 887, 895, 918, 919, 921, 930, 931, 945, 970, 981, 987, 995, 997} [INFO] [stdout] b items: {15, 25, 60, 72, 92, 94, 99, 158, 159, 160, 165, 170, 177, 180, 181, 203, 205, 218, 259, 287, 306, 313, 333, 349, 375, 377, 379, 386, 412, 424, 427, 481, 482, 487, 506, 514, 520, 537, 538, 574, 579, 608, 633, 651, 676, 691, 701, 703, 707, 732, 744, 746, 751, 783, 794, 799, 802, 805, 806, 808, 817, 836, 840, 848, 857, 872, 887, 888, 907, 909, 930, 951, 957, 960, 971, 975} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 998), fp: EncodedCountingMonoid(83, SumMonoid(40393)) }], item_sets: [ItemSet { range: Range(998, 22), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 574), fp: EncodedCountingMonoid(38, SumMonoid(11110)) }, Fingerprint { range: Range(574, 998), fp: EncodedCountingMonoid(37, SumMonoid(29498)) }], item_sets: [ItemSet { range: Range(998, 22), items: [15], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 268), fp: EncodedCountingMonoid(25, SumMonoid(3870)) }, Fingerprint { range: Range(268, 574), fp: EncodedCountingMonoid(24, SumMonoid(9459)) }, Fingerprint { range: Range(574, 785), fp: EncodedCountingMonoid(17, SumMonoid(11509)) }, Fingerprint { range: Range(785, 998), fp: EncodedCountingMonoid(17, SumMonoid(15555)) }], item_sets: [], wants: [15], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 165), fp: EncodedCountingMonoid(9, SumMonoid(919)) }, Fingerprint { range: Range(165, 268), fp: EncodedCountingMonoid(9, SumMonoid(1758)) }, Fingerprint { range: Range(268, 424), fp: EncodedCountingMonoid(10, SumMonoid(3517)) }, Fingerprint { range: Range(424, 574), fp: EncodedCountingMonoid(10, SumMonoid(4916)) }, Fingerprint { range: Range(574, 703), fp: EncodedCountingMonoid(8, SumMonoid(5113)) }, Fingerprint { range: Range(703, 785), fp: EncodedCountingMonoid(7, SumMonoid(5166)) }, Fingerprint { range: Range(785, 872), fp: EncodedCountingMonoid(11, SumMonoid(9012)) }, Fingerprint { range: Range(872, 998), fp: EncodedCountingMonoid(11, SumMonoid(10207)) }], item_sets: [], wants: [], provide: [(15, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 125), fp: EncodedCountingMonoid(7, SumMonoid(389)) }, Fingerprint { range: Range(125, 165), fp: EncodedCountingMonoid(6, SumMonoid(881)) }, Fingerprint { range: Range(165, 213), fp: EncodedCountingMonoid(6, SumMonoid(1129)) }, Fingerprint { range: Range(213, 268), fp: EncodedCountingMonoid(6, SumMonoid(1471)) }, Fingerprint { range: Range(268, 355), fp: EncodedCountingMonoid(8, SumMonoid(2461)) }, Fingerprint { range: Range(355, 424), fp: EncodedCountingMonoid(7, SumMonoid(2685)) }, Fingerprint { range: Range(424, 486), fp: EncodedCountingMonoid(5, SumMonoid(2240)) }, Fingerprint { range: Range(486, 574), fp: EncodedCountingMonoid(4, SumMonoid(2073)) }, Fingerprint { range: Range(574, 639), fp: EncodedCountingMonoid(6, SumMonoid(3624)) }, Fingerprint { range: Range(639, 703), fp: EncodedCountingMonoid(5, SumMonoid(3314)) }, Fingerprint { range: Range(703, 771), fp: EncodedCountingMonoid(3, SumMonoid(2238)) }, Fingerprint { range: Range(771, 785), fp: EncodedCountingMonoid(3, SumMonoid(2333)) }, Fingerprint { range: Range(872, 931), fp: EncodedCountingMonoid(7, SumMonoid(6354)) }, Fingerprint { range: Range(931, 998), fp: EncodedCountingMonoid(7, SumMonoid(6806)) }], item_sets: [ItemSet { range: Range(785, 812), items: [785, 798], want_response: true }, ItemSet { range: Range(812, 872), items: [812], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 92), fp: EncodedCountingMonoid(3, SumMonoid(157)) }, Fingerprint { range: Range(92, 125), fp: EncodedCountingMonoid(3, SumMonoid(285)) }, Fingerprint { range: Range(165, 181), fp: EncodedCountingMonoid(4, SumMonoid(692)) }, Fingerprint { range: Range(181, 213), fp: EncodedCountingMonoid(3, SumMonoid(589)) }, Fingerprint { range: Range(268, 333), fp: EncodedCountingMonoid(3, SumMonoid(906)) }, Fingerprint { range: Range(355, 386), fp: EncodedCountingMonoid(3, SumMonoid(1131)) }, Fingerprint { range: Range(486, 520), fp: EncodedCountingMonoid(3, SumMonoid(1507)) }, Fingerprint { range: Range(520, 574), fp: EncodedCountingMonoid(3, SumMonoid(1595)) }, Fingerprint { range: Range(703, 744), fp: EncodedCountingMonoid(3, SumMonoid(2142)) }, Fingerprint { range: Range(744, 771), fp: EncodedCountingMonoid(3, SumMonoid(2241)) }, Fingerprint { range: Range(872, 907), fp: EncodedCountingMonoid(3, SumMonoid(2647)) }, Fingerprint { range: Range(907, 931), fp: EncodedCountingMonoid(3, SumMonoid(2746)) }, Fingerprint { range: Range(931, 971), fp: EncodedCountingMonoid(3, SumMonoid(2868)) }], item_sets: [ItemSet { range: Range(785, 812), items: [794, 799, 802, 805, 806, 808], want_response: false }, ItemSet { range: Range(812, 872), items: [817, 836, 840, 848, 857], want_response: false }, ItemSet { range: Range(125, 160), items: [158, 159], want_response: true }, ItemSet { range: Range(160, 165), items: [160], want_response: true }, ItemSet { range: Range(213, 268), items: [218, 259], want_response: true }, ItemSet { range: Range(333, 355), items: [333, 349], want_response: true }, ItemSet { range: Range(386, 424), items: [386, 412], want_response: true }, ItemSet { range: Range(424, 481), items: [424, 427], want_response: true }, ItemSet { range: Range(481, 486), items: [481, 482], want_response: true }, ItemSet { range: Range(574, 608), items: [574, 579], want_response: true }, ItemSet { range: Range(608, 639), items: [608, 633], want_response: true }, ItemSet { range: Range(639, 691), items: [651, 676], want_response: true }, ItemSet { range: Range(691, 703), items: [691, 701], want_response: true }, ItemSet { range: Range(771, 785), items: [783], want_response: true }, ItemSet { range: Range(971, 998), items: [971, 975], want_response: true }], wants: [785, 798, 812], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 46), fp: EncodedCountingMonoid(3, SumMonoid(88)) }, Fingerprint { range: Range(46, 92), fp: EncodedCountingMonoid(3, SumMonoid(184)) }, Fingerprint { range: Range(268, 311), fp: EncodedCountingMonoid(4, SumMonoid(1155)) }, Fingerprint { range: Range(311, 333), fp: EncodedCountingMonoid(3, SumMonoid(970)) }], item_sets: [ItemSet { range: Range(125, 160), items: [125, 141, 143, 148], want_response: false }, ItemSet { range: Range(160, 165), items: [161, 163], want_response: false }, ItemSet { range: Range(213, 268), items: [213, 239, 252, 253, 254, 260], want_response: false }, ItemSet { range: Range(333, 355), items: [336], want_response: false }, ItemSet { range: Range(386, 424), items: [393, 420, 421], want_response: false }, ItemSet { range: Range(424, 481), items: [424, 447, 450, 457, 462], want_response: false }, ItemSet { range: Range(481, 486), items: [], want_response: false }, ItemSet { range: Range(574, 608), items: [583, 586, 599, 607], want_response: false }, ItemSet { range: Range(608, 639), items: [616, 633], want_response: false }, ItemSet { range: Range(639, 691), items: [639, 645, 649, 686], want_response: false }, ItemSet { range: Range(691, 703), items: [695], want_response: false }, ItemSet { range: Range(771, 785), items: [771, 779, 783], want_response: false }, ItemSet { range: Range(971, 998), items: [981, 987, 995, 997], want_response: false }, ItemSet { range: Range(92, 125), items: [117], want_response: true }, ItemSet { range: Range(165, 181), items: [171, 176], want_response: true }, ItemSet { range: Range(181, 206), items: [182, 186], want_response: true }, ItemSet { range: Range(206, 213), items: [206, 208], want_response: true }, ItemSet { range: Range(355, 359), items: [355, 358], want_response: true }, ItemSet { range: Range(359, 386), items: [359, 379], want_response: true }, ItemSet { range: Range(486, 520), items: [486, 488], want_response: true }, ItemSet { range: Range(520, 574), items: [529, 570], want_response: true }, ItemSet { range: Range(703, 744), items: [714], want_response: true }, ItemSet { range: Range(744, 771), items: [760, 764], want_response: true }, ItemSet { range: Range(872, 895), items: [884, 887], want_response: true }, ItemSet { range: Range(895, 907), items: [895], want_response: true }, ItemSet { range: Range(907, 921), items: [918, 919], want_response: true }, ItemSet { range: Range(921, 931), items: [921, 930], want_response: true }, ItemSet { range: Range(931, 970), items: [931, 945], want_response: true }, ItemSet { range: Range(970, 971), items: [970], want_response: true }], wants: [794, 799, 802, 805, 806, 808, 817, 836, 840, 848, 857, 158, 159, 160, 218, 259, 333, 349, 386, 412, 427, 481, 482, 574, 579, 608, 651, 676, 691, 701, 971, 975], provide: [(785, true), (798, true), (812, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(92, 125), items: [92, 94, 99], want_response: false }, ItemSet { range: Range(165, 181), items: [165, 170, 177, 180], want_response: false }, ItemSet { range: Range(181, 206), items: [181, 203, 205], want_response: false }, ItemSet { range: Range(206, 213), items: [], want_response: false }, ItemSet { range: Range(355, 359), items: [], want_response: false }, ItemSet { range: Range(359, 386), items: [375, 377, 379], want_response: false }, ItemSet { range: Range(486, 520), items: [487, 506, 514], want_response: false }, ItemSet { range: Range(520, 574), items: [520, 537, 538], want_response: false }, ItemSet { range: Range(703, 744), items: [703, 707, 732], want_response: false }, ItemSet { range: Range(744, 771), items: [744, 746, 751], want_response: false }, ItemSet { range: Range(872, 895), items: [872, 887, 888], want_response: false }, ItemSet { range: Range(895, 907), items: [], want_response: false }, ItemSet { range: Range(907, 921), items: [907, 909], want_response: false }, ItemSet { range: Range(921, 931), items: [930], want_response: false }, ItemSet { range: Range(931, 970), items: [951, 957, 960], want_response: false }, ItemSet { range: Range(970, 971), items: [], want_response: false }, ItemSet { range: Range(22, 46), items: [25], want_response: true }, ItemSet { range: Range(46, 92), items: [60, 72], want_response: true }, ItemSet { range: Range(268, 311), items: [287, 306], want_response: true }, ItemSet { range: Range(311, 333), items: [313], want_response: true }], wants: [125, 141, 143, 148, 161, 163, 213, 239, 252, 253, 254, 260, 336, 393, 420, 421, 447, 450, 457, 462, 583, 586, 599, 607, 616, 639, 645, 649, 686, 695, 771, 779, 981, 987, 995, 997, 117, 171, 176, 182, 186, 206, 208, 355, 358, 359, 486, 488, 529, 570, 714, 760, 764, 884, 895, 918, 919, 921, 931, 945, 970], provide: [(794, true), (799, true), (802, true), (805, true), (806, true), (808, true), (817, true), (836, true), (840, true), (848, true), (857, true), (158, true), (159, true), (160, true), (218, true), (259, true), (333, true), (349, true), (386, true), (412, true), (427, true), (481, true), (482, true), (574, true), (579, true), (608, true), (651, true), (676, true), (691, true), (701, true), (971, true), (975, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(22, 46), items: [22, 23, 43], want_response: false }, ItemSet { range: Range(46, 92), items: [46, 59, 79], want_response: false }, ItemSet { range: Range(268, 311), items: [268, 271, 307, 309], want_response: false }, ItemSet { range: Range(311, 333), items: [311, 327, 332], want_response: false }], wants: [92, 94, 99, 165, 170, 177, 180, 181, 203, 205, 375, 377, 487, 506, 514, 520, 537, 538, 703, 707, 732, 744, 746, 751, 872, 888, 907, 909, 951, 957, 960, 25, 60, 72, 287, 306, 313], provide: [(125, true), (141, true), (143, true), (148, true), (161, true), (163, true), (213, true), (239, true), (252, true), (253, true), (254, true), (260, true), (336, true), (393, true), (420, true), (421, true), (447, true), (450, true), (457, true), (462, true), (583, true), (586, true), (599, true), (607, true), (616, true), (639, true), (645, true), (649, true), (686, true), (695, true), (771, true), (779, true), (981, true), (987, true), (995, true), (997, true), (117, true), (171, true), (176, true), (182, true), (186, true), (206, true), (208, true), (355, true), (358, true), (359, true), (486, true), (488, true), (529, true), (570, true), (714, true), (760, true), (764, true), (884, true), (895, true), (918, true), (919, true), (921, true), (931, true), (945, true), (970, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [22, 23, 43, 46, 59, 79, 268, 271, 307, 309, 311, 327, 332], provide: [(92, true), (94, true), (99, true), (165, true), (170, true), (177, true), (180, true), (181, true), (203, true), (205, true), (375, true), (377, true), (487, true), (506, true), (514, true), (520, true), (537, true), (538, true), (703, true), (707, true), (732, true), (744, true), (746, true), (751, true), (872, true), (888, true), (907, true), (909, true), (951, true), (957, true), (960, true), (25, true), (60, true), (72, true), (287, true), (306, true), (313, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(22, true), (23, true), (43, true), (46, true), (59, true), (79, true), (268, true), (271, true), (307, true), (309, true), (311, true), (327, true), (332, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {22, 23, 43, 46, 59, 79, 117, 125, 141, 143, 148, 161, 163, 171, 176, 182, 186, 206, 208, 213, 239, 252, 253, 254, 260, 268, 271, 307, 309, 311, 327, 332, 336, 355, 358, 359, 379, 393, 420, 421, 424, 447, 450, 457, 462, 486, 488, 529, 570, 583, 586, 599, 607, 616, 633, 639, 645, 649, 686, 695, 714, 760, 764, 771, 779, 783, 785, 798, 812, 884, 887, 895, 918, 919, 921, 930, 931, 945, 970, 981, 987, 995, 997} + [15, 794, 799, 802, 805, 806, 808, 817, 836, 840, 848, 857, 158, 159, 160, 218, 259, 333, 349, 386, 412, 427, 481, 482, 574, 579, 608, 651, 676, 691, 701, 971, 975, 92, 94, 99, 165, 170, 177, 180, 181, 203, 205, 375, 377, 487, 506, 514, 520, 537, 538, 703, 707, 732, 744, 746, 751, 872, 888, 907, 909, 951, 957, 960, 25, 60, 72, 287, 306, 313] [INFO] [stdout] b all: {15, 25, 60, 72, 92, 94, 99, 158, 159, 160, 165, 170, 177, 180, 181, 203, 205, 218, 259, 287, 306, 313, 333, 349, 375, 377, 379, 386, 412, 424, 427, 481, 482, 487, 506, 514, 520, 537, 538, 574, 579, 608, 633, 651, 676, 691, 701, 703, 707, 732, 744, 746, 751, 783, 794, 799, 802, 805, 806, 808, 817, 836, 840, 848, 857, 872, 887, 888, 907, 909, 930, 951, 957, 960, 971, 975} + [785, 798, 812, 125, 141, 143, 148, 161, 163, 213, 239, 252, 253, 254, 260, 336, 393, 420, 421, 447, 450, 457, 462, 583, 586, 599, 607, 616, 639, 645, 649, 686, 695, 771, 779, 981, 987, 995, 997, 117, 171, 176, 182, 186, 206, 208, 355, 358, 359, 486, 488, 529, 570, 714, 760, 764, 884, 895, 918, 919, 921, 931, 945, 970, 22, 23, 43, 46, 59, 79, 268, 271, 307, 309, 311, 327, 332] [INFO] [stdout] [INFO] [stdout] all vec: [15, 22, 23, 25, 43, 46, 59, 60, 72, 79, 92, 94, 99, 117, 125, 141, 143, 148, 158, 159, 160, 161, 163, 165, 170, 171, 176, 177, 180, 181, 182, 186, 203, 205, 206, 208, 213, 218, 239, 252, 253, 254, 259, 260, 268, 271, 287, 306, 307, 309, 311, 313, 327, 332, 333, 336, 349, 355, 358, 359, 375, 377, 379, 386, 393, 412, 420, 421, 424, 427, 447, 450, 457, 462, 481, 482, 486, 487, 488, 506, 514, 520, 529, 537, 538, 570, 574, 579, 583, 586, 599, 607, 608, 616, 633, 639, 645, 649, 651, 676, 686, 691, 695, 701, 703, 707, 714, 732, 744, 746, 751, 760, 764, 771, 779, 783, 785, 794, 798, 799, 802, 805, 806, 808, 812, 817, 836, 840, 848, 857, 872, 884, 887, 888, 895, 907, 909, 918, 919, 921, 930, 931, 945, 951, 957, 960, 970, 971, 975, 981, 987, 995, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [15, 22, 23, 25, 43, 46, 59, 60, 72, 79, 92, 94, 99, 117, 125, 141, 143, 148, 158, 159, 160, 161, 163, 165, 170, 171, 176, 177, 180, 181, 182, 186, 203, 205, 206, 208, 213, 218, 239, 252, 253, 254, 259, 260, 268, 271, 287, 306, 307, 309, 311, 313, 327, 332, 333, 336, 349, 355, 358, 359, 375, 377, 379, 386, 393, 412, 420, 421, 424, 427, 447, 450, 457, 462, 481, 482, 486, 487, 488, 506, 514, 520, 529, 537, 538, 570, 574, 579, 583, 586, 599, 607, 608, 616, 633, 639, 645, 649, 651, 676, 686, 691, 695, 701, 703, 707, 714, 732, 744, 746, 751, 760, 764, 771, 779, 783, 785, 794, 798, 799, 802, 805, 806, 808, 812, 817, 836, 840, 848, 857, 872, 884, 887, 888, 895, 907, 909, 918, 919, 921, 930, 931, 945, 951, 957, 960, 970, 971, 975, 981, 987, 995, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [15, 22, 23, 25, 43, 46, 59, 60, 72, 79, 92, 94, 99, 117, 125, 141, 143, 148, 158, 159, 160, 161, 163, 165, 170, 171, 176, 177, 180, 181, 182, 186, 203, 205, 206, 208, 213, 218, 239, 252, 253, 254, 259, 260, 268, 271, 287, 306, 307, 309, 311, 313, 327, 332, 333, 336, 349, 355, 358, 359, 375, 377, 379, 386, 393, 412, 420, 421, 424, 427, 447, 450, 457, 462, 481, 482, 486, 487, 488, 506, 514, 520, 529, 537, 538, 570, 574, 579, 583, 586, 599, 607, 608, 616, 633, 639, 645, 649, 651, 676, 686, 691, 695, 701, 703, 707, 714, 732, 744, 746, 751, 760, 764, 771, 779, 783, 785, 794, 798, 799, 802, 805, 806, 808, 812, 817, 836, 840, 848, 857, 872, 884, 887, 888, 895, 907, 909, 918, 919, 921, 930, 931, 945, 951, 957, 960, 970, 971, 975, 981, 987, 995, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {9, 10, 76, 84, 130, 147, 148, 168, 205, 238, 239, 240, 255, 279, 316, 358, 370, 384, 392, 416, 457, 473, 476, 494, 495, 511, 523, 527, 533, 534, 547, 557, 575, 591, 611, 634, 642, 659, 690, 691, 716, 750, 752, 765, 772, 783, 807, 846, 899, 909, 912, 917, 972, 974, 979} [INFO] [stdout] b items: {10, 32, 123, 139, 143, 144, 191, 199, 210, 219, 225, 265, 295, 376, 388, 468, 493, 496, 520, 539, 543, 551, 554, 564, 571, 601, 667, 703, 708, 720, 736, 762, 813, 815, 829, 841, 850, 861, 880, 916, 933, 941, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 980), fp: EncodedCountingMonoid(55, SumMonoid(28437)) }], item_sets: [ItemSet { range: Range(980, 9), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 551), fp: EncodedCountingMonoid(21, SumMonoid(6018)) }, Fingerprint { range: Range(551, 980), fp: EncodedCountingMonoid(21, SumMonoid(15816)) }], item_sets: [ItemSet { range: Range(980, 9), items: [996], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 370), fp: EncodedCountingMonoid(16, SumMonoid(2902)) }, Fingerprint { range: Range(370, 551), fp: EncodedCountingMonoid(15, SumMonoid(7132)) }, Fingerprint { range: Range(551, 765), fp: EncodedCountingMonoid(12, SumMonoid(7868)) }, Fingerprint { range: Range(765, 980), fp: EncodedCountingMonoid(12, SumMonoid(10535)) }], item_sets: [], wants: [996], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(9, 199), fp: EncodedCountingMonoid(7, SumMonoid(782)) }, Fingerprint { range: Range(199, 370), fp: EncodedCountingMonoid(6, SumMonoid(1413)) }, Fingerprint { range: Range(370, 496), fp: EncodedCountingMonoid(4, SumMonoid(1725)) }, Fingerprint { range: Range(496, 551), fp: EncodedCountingMonoid(4, SumMonoid(2098)) }, Fingerprint { range: Range(551, 703), fp: EncodedCountingMonoid(6, SumMonoid(3508)) }, Fingerprint { range: Range(703, 765), fp: EncodedCountingMonoid(5, SumMonoid(3629)) }, Fingerprint { range: Range(765, 861), fp: EncodedCountingMonoid(5, SumMonoid(4148)) }, Fingerprint { range: Range(861, 980), fp: EncodedCountingMonoid(5, SumMonoid(4531)) }], item_sets: [], wants: [], provide: [(996, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(9, 130), fp: EncodedCountingMonoid(4, SumMonoid(179)) }, Fingerprint { range: Range(130, 199), fp: EncodedCountingMonoid(4, SumMonoid(593)) }, Fingerprint { range: Range(199, 255), fp: EncodedCountingMonoid(4, SumMonoid(922)) }, Fingerprint { range: Range(255, 370), fp: EncodedCountingMonoid(4, SumMonoid(1208)) }, Fingerprint { range: Range(370, 473), fp: EncodedCountingMonoid(5, SumMonoid(2019)) }, Fingerprint { range: Range(473, 496), fp: EncodedCountingMonoid(4, SumMonoid(1938)) }, Fingerprint { range: Range(496, 533), fp: EncodedCountingMonoid(3, SumMonoid(1561)) }, Fingerprint { range: Range(533, 551), fp: EncodedCountingMonoid(3, SumMonoid(1614)) }, Fingerprint { range: Range(551, 642), fp: EncodedCountingMonoid(5, SumMonoid(2968)) }, Fingerprint { range: Range(642, 703), fp: EncodedCountingMonoid(4, SumMonoid(2682)) }, Fingerprint { range: Range(765, 807), fp: EncodedCountingMonoid(3, SumMonoid(2320)) }, Fingerprint { range: Range(861, 972), fp: EncodedCountingMonoid(4, SumMonoid(3637)) }, Fingerprint { range: Range(972, 980), fp: EncodedCountingMonoid(3, SumMonoid(2925)) }], item_sets: [ItemSet { range: Range(703, 752), items: [716, 750], want_response: true }, ItemSet { range: Range(752, 765), items: [752], want_response: true }, ItemSet { range: Range(807, 861), items: [807, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(551, 571), fp: EncodedCountingMonoid(3, SumMonoid(1669)) }, Fingerprint { range: Range(861, 933), fp: EncodedCountingMonoid(3, SumMonoid(2657)) }], item_sets: [ItemSet { range: Range(703, 752), items: [703, 708, 720, 736], want_response: false }, ItemSet { range: Range(752, 765), items: [762], want_response: false }, ItemSet { range: Range(807, 861), items: [813, 815, 829, 841, 850], want_response: false }, ItemSet { range: Range(9, 123), items: [10, 32], want_response: true }, ItemSet { range: Range(123, 130), items: [123], want_response: true }, ItemSet { range: Range(130, 144), items: [139, 143], want_response: true }, ItemSet { range: Range(144, 199), items: [144, 191], want_response: true }, ItemSet { range: Range(199, 219), items: [199, 210], want_response: true }, ItemSet { range: Range(219, 255), items: [219, 225], want_response: true }, ItemSet { range: Range(255, 370), items: [265, 295], want_response: true }, ItemSet { range: Range(370, 468), items: [376, 388], want_response: true }, ItemSet { range: Range(468, 473), items: [468], want_response: true }, ItemSet { range: Range(473, 496), items: [493], want_response: true }, ItemSet { range: Range(496, 533), items: [496, 520], want_response: true }, ItemSet { range: Range(533, 551), items: [539, 543], want_response: true }, ItemSet { range: Range(571, 642), items: [571, 601], want_response: true }, ItemSet { range: Range(642, 703), items: [667], want_response: true }, ItemSet { range: Range(765, 807), items: [], want_response: true }, ItemSet { range: Range(933, 972), items: [933, 941], want_response: true }, ItemSet { range: Range(972, 980), items: [], want_response: true }], wants: [716, 750, 752, 807, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(9, 123), items: [9, 10, 76, 84], want_response: false }, ItemSet { range: Range(123, 130), items: [], want_response: false }, ItemSet { range: Range(130, 144), items: [130], want_response: false }, ItemSet { range: Range(144, 199), items: [147, 148, 168], want_response: false }, ItemSet { range: Range(199, 219), items: [205], want_response: false }, ItemSet { range: Range(219, 255), items: [238, 239, 240], want_response: false }, ItemSet { range: Range(255, 370), items: [255, 279, 316, 358], want_response: false }, ItemSet { range: Range(370, 468), items: [370, 384, 392, 416, 457], want_response: false }, ItemSet { range: Range(468, 473), items: [], want_response: false }, ItemSet { range: Range(473, 496), items: [473, 476, 494, 495], want_response: false }, ItemSet { range: Range(496, 533), items: [511, 523, 527], want_response: false }, ItemSet { range: Range(533, 551), items: [533, 534, 547], want_response: false }, ItemSet { range: Range(571, 642), items: [575, 591, 611, 634], want_response: false }, ItemSet { range: Range(642, 703), items: [642, 659, 690, 691], want_response: false }, ItemSet { range: Range(765, 807), items: [765, 772, 783], want_response: false }, ItemSet { range: Range(933, 972), items: [], want_response: false }, ItemSet { range: Range(972, 980), items: [972, 974, 979], want_response: false }, ItemSet { range: Range(551, 571), items: [557], want_response: true }, ItemSet { range: Range(861, 912), items: [899, 909], want_response: true }, ItemSet { range: Range(912, 933), items: [912, 917], want_response: true }], wants: [703, 708, 720, 736, 762, 813, 815, 829, 841, 850, 32, 123, 139, 143, 144, 191, 199, 210, 219, 225, 265, 295, 376, 388, 468, 493, 496, 520, 539, 543, 571, 601, 667, 933, 941], provide: [(716, true), (750, true), (752, true), (807, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(551, 571), items: [551, 554, 564], want_response: false }, ItemSet { range: Range(861, 912), items: [861, 880], want_response: false }, ItemSet { range: Range(912, 933), items: [916], want_response: false }], wants: [9, 76, 84, 130, 147, 148, 168, 205, 238, 239, 240, 255, 279, 316, 358, 370, 384, 392, 416, 457, 473, 476, 494, 495, 511, 523, 527, 533, 534, 547, 575, 591, 611, 634, 642, 659, 690, 691, 765, 772, 783, 972, 974, 979, 557, 899, 909, 912, 917], provide: [(703, true), (708, true), (720, true), (736, true), (762, true), (813, true), (815, true), (829, true), (841, true), (850, true), (32, true), (123, true), (139, true), (143, true), (144, true), (191, true), (199, true), (210, true), (219, true), (225, true), (265, true), (295, true), (376, true), (388, true), (468, true), (493, true), (496, true), (520, true), (539, true), (543, true), (571, true), (601, true), (667, true), (933, true), (941, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [551, 554, 564, 861, 880, 916], provide: [(9, true), (76, true), (84, true), (130, true), (147, true), (148, true), (168, true), (205, true), (238, true), (239, true), (240, true), (255, true), (279, true), (316, true), (358, true), (370, true), (384, true), (392, true), (416, true), (457, true), (473, true), (476, true), (494, true), (495, true), (511, true), (523, true), (527, true), (533, true), (534, true), (547, true), (575, true), (591, true), (611, true), (634, true), (642, true), (659, true), (690, true), (691, true), (765, true), (772, true), (783, true), (972, true), (974, true), (979, true), (557, true), (899, true), (909, true), (912, true), (917, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(551, true), (554, true), (564, true), (861, true), (880, true), (916, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {9, 10, 76, 84, 130, 147, 148, 168, 205, 238, 239, 240, 255, 279, 316, 358, 370, 384, 392, 416, 457, 473, 476, 494, 495, 511, 523, 527, 533, 534, 547, 557, 575, 591, 611, 634, 642, 659, 690, 691, 716, 750, 752, 765, 772, 783, 807, 846, 899, 909, 912, 917, 972, 974, 979} + [996, 703, 708, 720, 736, 762, 813, 815, 829, 841, 850, 32, 123, 139, 143, 144, 191, 199, 210, 219, 225, 265, 295, 376, 388, 468, 493, 496, 520, 539, 543, 571, 601, 667, 933, 941, 551, 554, 564, 861, 880, 916] [INFO] [stdout] b all: {10, 32, 123, 139, 143, 144, 191, 199, 210, 219, 225, 265, 295, 376, 388, 468, 493, 496, 520, 539, 543, 551, 554, 564, 571, 601, 667, 703, 708, 720, 736, 762, 813, 815, 829, 841, 850, 861, 880, 916, 933, 941, 996} + [716, 750, 752, 807, 846, 9, 76, 84, 130, 147, 148, 168, 205, 238, 239, 240, 255, 279, 316, 358, 370, 384, 392, 416, 457, 473, 476, 494, 495, 511, 523, 527, 533, 534, 547, 575, 591, 611, 634, 642, 659, 690, 691, 765, 772, 783, 972, 974, 979, 557, 899, 909, 912, 917] [INFO] [stdout] [INFO] [stdout] all vec: [9, 10, 32, 76, 84, 123, 130, 139, 143, 144, 147, 148, 168, 191, 199, 205, 210, 219, 225, 238, 239, 240, 255, 265, 279, 295, 316, 358, 370, 376, 384, 388, 392, 416, 457, 468, 473, 476, 493, 494, 495, 496, 511, 520, 523, 527, 533, 534, 539, 543, 547, 551, 554, 557, 564, 571, 575, 591, 601, 611, 634, 642, 659, 667, 690, 691, 703, 708, 716, 720, 736, 750, 752, 762, 765, 772, 783, 807, 813, 815, 829, 841, 846, 850, 861, 880, 899, 909, 912, 916, 917, 933, 941, 972, 974, 979, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 10, 32, 76, 84, 123, 130, 139, 143, 144, 147, 148, 168, 191, 199, 205, 210, 219, 225, 238, 239, 240, 255, 265, 279, 295, 316, 358, 370, 376, 384, 388, 392, 416, 457, 468, 473, 476, 493, 494, 495, 496, 511, 520, 523, 527, 533, 534, 539, 543, 547, 551, 554, 557, 564, 571, 575, 591, 601, 611, 634, 642, 659, 667, 690, 691, 703, 708, 716, 720, 736, 750, 752, 762, 765, 772, 783, 807, 813, 815, 829, 841, 846, 850, 861, 880, 899, 909, 912, 916, 917, 933, 941, 972, 974, 979, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 10, 32, 76, 84, 123, 130, 139, 143, 144, 147, 148, 168, 191, 199, 205, 210, 219, 225, 238, 239, 240, 255, 265, 279, 295, 316, 358, 370, 376, 384, 388, 392, 416, 457, 468, 473, 476, 493, 494, 495, 496, 511, 520, 523, 527, 533, 534, 539, 543, 547, 551, 554, 557, 564, 571, 575, 591, 601, 611, 634, 642, 659, 667, 690, 691, 703, 708, 716, 720, 736, 750, 752, 762, 765, 772, 783, 807, 813, 815, 829, 841, 846, 850, 861, 880, 899, 909, 912, 916, 917, 933, 941, 972, 974, 979, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {55, 112, 124, 135, 195, 207, 245, 299, 339, 384, 461, 492, 523, 566, 577, 611, 624, 647, 709, 746, 747, 792, 816, 824, 825, 836, 839, 840, 848, 900, 908, 960, 964, 966, 975} [INFO] [stdout] b items: {2, 5, 12, 85, 98, 198, 230, 241, 245, 246, 254, 255, 262, 286, 288, 316, 342, 402, 414, 564, 571, 588, 677, 687, 705, 750, 800, 845, 865, 873, 879, 906, 917, 926, 954} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(55, 976), fp: EncodedCountingMonoid(35, SumMonoid(21091)) }], item_sets: [ItemSet { range: Range(976, 55), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(55, 564), fp: EncodedCountingMonoid(16, SumMonoid(4162)) }, Fingerprint { range: Range(564, 976), fp: EncodedCountingMonoid(16, SumMonoid(12507)) }], item_sets: [ItemSet { range: Range(976, 55), items: [2, 5, 12], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(55, 299), fp: EncodedCountingMonoid(7, SumMonoid(1073)) }, Fingerprint { range: Range(299, 564), fp: EncodedCountingMonoid(6, SumMonoid(2498)) }, Fingerprint { range: Range(564, 825), fp: EncodedCountingMonoid(11, SumMonoid(7659)) }, Fingerprint { range: Range(825, 976), fp: EncodedCountingMonoid(11, SumMonoid(9861)) }], item_sets: [], wants: [2, 5, 12], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(55, 246), fp: EncodedCountingMonoid(6, SumMonoid(1097)) }, Fingerprint { range: Range(246, 299), fp: EncodedCountingMonoid(6, SumMonoid(1591)) }, Fingerprint { range: Range(564, 687), fp: EncodedCountingMonoid(4, SumMonoid(2400)) }, Fingerprint { range: Range(687, 825), fp: EncodedCountingMonoid(4, SumMonoid(2942)) }, Fingerprint { range: Range(825, 906), fp: EncodedCountingMonoid(4, SumMonoid(3462)) }, Fingerprint { range: Range(906, 976), fp: EncodedCountingMonoid(4, SumMonoid(3703)) }], item_sets: [ItemSet { range: Range(299, 402), items: [316, 342], want_response: true }, ItemSet { range: Range(402, 564), items: [402, 414], want_response: true }], wants: [], provide: [(2, true), (5, true), (12, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(55, 195), fp: EncodedCountingMonoid(4, SumMonoid(426)) }, Fingerprint { range: Range(195, 246), fp: EncodedCountingMonoid(3, SumMonoid(647)) }, Fingerprint { range: Range(564, 624), fp: EncodedCountingMonoid(3, SumMonoid(1754)) }, Fingerprint { range: Range(687, 792), fp: EncodedCountingMonoid(3, SumMonoid(2202)) }, Fingerprint { range: Range(792, 825), fp: EncodedCountingMonoid(3, SumMonoid(2432)) }, Fingerprint { range: Range(825, 840), fp: EncodedCountingMonoid(3, SumMonoid(2500)) }, Fingerprint { range: Range(840, 906), fp: EncodedCountingMonoid(3, SumMonoid(2588)) }, Fingerprint { range: Range(906, 966), fp: EncodedCountingMonoid(3, SumMonoid(2832)) }], item_sets: [ItemSet { range: Range(299, 402), items: [299, 339, 384], want_response: false }, ItemSet { range: Range(402, 564), items: [461, 492, 523], want_response: false }, ItemSet { range: Range(246, 299), items: [], want_response: true }, ItemSet { range: Range(624, 687), items: [624, 647], want_response: true }, ItemSet { range: Range(966, 976), items: [966, 975], want_response: true }], wants: [316, 342, 402, 414], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(246, 299), items: [246, 254, 255, 262, 286, 288], want_response: false }, ItemSet { range: Range(624, 687), items: [677], want_response: false }, ItemSet { range: Range(966, 976), items: [], want_response: false }, ItemSet { range: Range(55, 195), items: [85, 98], want_response: true }, ItemSet { range: Range(195, 241), items: [198, 230], want_response: true }, ItemSet { range: Range(241, 246), items: [241, 245], want_response: true }, ItemSet { range: Range(564, 588), items: [564, 571], want_response: true }, ItemSet { range: Range(588, 624), items: [588], want_response: true }, ItemSet { range: Range(687, 750), items: [687, 705], want_response: true }, ItemSet { range: Range(750, 792), items: [750], want_response: true }, ItemSet { range: Range(792, 825), items: [800], want_response: true }, ItemSet { range: Range(825, 840), items: [], want_response: true }, ItemSet { range: Range(840, 873), items: [845, 865], want_response: true }, ItemSet { range: Range(873, 906), items: [873, 879], want_response: true }, ItemSet { range: Range(906, 926), items: [906, 917], want_response: true }, ItemSet { range: Range(926, 966), items: [926, 954], want_response: true }], wants: [299, 339, 384, 461, 492, 523, 624, 647, 966, 975], provide: [(316, true), (342, true), (402, true), (414, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(55, 195), items: [55, 112, 124, 135], want_response: false }, ItemSet { range: Range(195, 241), items: [195, 207], want_response: false }, ItemSet { range: Range(241, 246), items: [245], want_response: false }, ItemSet { range: Range(564, 588), items: [566, 577], want_response: false }, ItemSet { range: Range(588, 624), items: [611], want_response: false }, ItemSet { range: Range(687, 750), items: [709, 746, 747], want_response: false }, ItemSet { range: Range(750, 792), items: [], want_response: false }, ItemSet { range: Range(792, 825), items: [792, 816, 824], want_response: false }, ItemSet { range: Range(825, 840), items: [825, 836, 839], want_response: false }, ItemSet { range: Range(840, 873), items: [840, 848], want_response: false }, ItemSet { range: Range(873, 906), items: [900], want_response: false }, ItemSet { range: Range(906, 926), items: [908], want_response: false }, ItemSet { range: Range(926, 966), items: [960, 964], want_response: false }], wants: [246, 254, 255, 262, 286, 288, 677, 85, 98, 198, 230, 241, 564, 571, 588, 687, 705, 750, 800, 845, 865, 873, 879, 906, 917, 926, 954], provide: [(299, true), (339, true), (384, true), (461, true), (492, true), (523, true), (624, true), (647, true), (966, true), (975, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [55, 112, 124, 135, 195, 207, 566, 577, 611, 709, 746, 747, 792, 816, 824, 825, 836, 839, 840, 848, 900, 908, 960, 964], provide: [(246, true), (254, true), (255, true), (262, true), (286, true), (288, true), (677, true), (85, true), (98, true), (198, true), (230, true), (241, true), (564, true), (571, true), (588, true), (687, true), (705, true), (750, true), (800, true), (845, true), (865, true), (873, true), (879, true), (906, true), (917, true), (926, true), (954, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(55, true), (112, true), (124, true), (135, true), (195, true), (207, true), (566, true), (577, true), (611, true), (709, true), (746, true), (747, true), (792, true), (816, true), (824, true), (825, true), (836, true), (839, true), (840, true), (848, true), (900, true), (908, true), (960, true), (964, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {55, 112, 124, 135, 195, 207, 245, 299, 339, 384, 461, 492, 523, 566, 577, 611, 624, 647, 709, 746, 747, 792, 816, 824, 825, 836, 839, 840, 848, 900, 908, 960, 964, 966, 975} + [2, 5, 12, 316, 342, 402, 414, 246, 254, 255, 262, 286, 288, 677, 85, 98, 198, 230, 241, 564, 571, 588, 687, 705, 750, 800, 845, 865, 873, 879, 906, 917, 926, 954] [INFO] [stdout] b all: {2, 5, 12, 85, 98, 198, 230, 241, 245, 246, 254, 255, 262, 286, 288, 316, 342, 402, 414, 564, 571, 588, 677, 687, 705, 750, 800, 845, 865, 873, 879, 906, 917, 926, 954} + [299, 339, 384, 461, 492, 523, 624, 647, 966, 975, 55, 112, 124, 135, 195, 207, 566, 577, 611, 709, 746, 747, 792, 816, 824, 825, 836, 839, 840, 848, 900, 908, 960, 964] [INFO] [stdout] [INFO] [stdout] all vec: [2, 5, 12, 55, 85, 98, 112, 124, 135, 195, 198, 207, 230, 241, 245, 246, 254, 255, 262, 286, 288, 299, 316, 339, 342, 384, 402, 414, 461, 492, 523, 564, 566, 571, 577, 588, 611, 624, 647, 677, 687, 705, 709, 746, 747, 750, 792, 800, 816, 824, 825, 836, 839, 840, 845, 848, 865, 873, 879, 900, 906, 908, 917, 926, 954, 960, 964, 966, 975] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 5, 12, 55, 85, 98, 112, 124, 135, 195, 198, 207, 230, 241, 245, 246, 254, 255, 262, 286, 288, 299, 316, 339, 342, 384, 402, 414, 461, 492, 523, 564, 566, 571, 577, 588, 611, 624, 647, 677, 687, 705, 709, 746, 747, 750, 792, 800, 816, 824, 825, 836, 839, 840, 845, 848, 865, 873, 879, 900, 906, 908, 917, 926, 954, 960, 964, 966, 975], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 5, 12, 55, 85, 98, 112, 124, 135, 195, 198, 207, 230, 241, 245, 246, 254, 255, 262, 286, 288, 299, 316, 339, 342, 384, 402, 414, 461, 492, 523, 564, 566, 571, 577, 588, 611, 624, 647, 677, 687, 705, 709, 746, 747, 750, 792, 800, 816, 824, 825, 836, 839, 840, 845, 848, 865, 873, 879, 900, 906, 908, 917, 926, 954, 960, 964, 966, 975], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {41, 203, 269, 352, 519, 555, 563, 574, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919} [INFO] [stdout] b items: {583} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(41, 920), fp: EncodedCountingMonoid(22, SumMonoid(13710)) }], item_sets: [ItemSet { range: Range(920, 41), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(920, 41), items: [], want_response: false }, ItemSet { range: Range(41, 920), items: [583], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(41, 920), items: [41, 203, 269, 352, 519, 555, 563, 574, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919], want_response: false }], wants: [583], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [41, 203, 269, 352, 519, 555, 563, 574, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919], provide: [(583, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(41, true), (203, true), (269, true), (352, true), (519, true), (555, true), (563, true), (574, true), (615, true), (617, true), (662, true), (700, true), (705, true), (711, true), (712, true), (777, true), (791, true), (827, true), (844, true), (849, true), (905, true), (919, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {41, 203, 269, 352, 519, 555, 563, 574, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919} + [583] [INFO] [stdout] b all: {583} + [41, 203, 269, 352, 519, 555, 563, 574, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919] [INFO] [stdout] [INFO] [stdout] all vec: [41, 203, 269, 352, 519, 555, 563, 574, 583, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919] [INFO] [stdout] [INFO] [stdout] a all vec: [41, 203, 269, 352, 519, 555, 563, 574, 583, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919], true true [INFO] [stdout] [INFO] [stdout] b all vec: [41, 203, 269, 352, 519, 555, 563, 574, 583, 615, 617, 662, 700, 705, 711, 712, 777, 791, 827, 844, 849, 905, 919], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 29, 80, 118, 128, 142, 166, 170, 205, 216, 232, 240, 252, 282, 287, 289, 299, 326, 401, 405, 446, 447, 450, 467, 490, 522, 532, 544, 620, 632, 644, 646, 648, 649, 671, 672, 692, 719, 774, 778, 789, 830, 859, 861, 889, 893, 919, 935, 936, 954, 978, 990, 999} [INFO] [stdout] b items: {22, 60, 61, 65, 73, 82, 86, 136, 150, 156, 174, 193, 194, 202, 205, 208, 212, 230, 234, 239, 240, 244, 269, 291, 301, 306, 307, 311, 313, 326, 337, 364, 379, 411, 465, 520, 562, 564, 587, 641, 678, 785, 818, 837, 844, 858, 865, 994, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 1000), fp: EncodedCountingMonoid(53, SumMonoid(28144)) }], item_sets: [ItemSet { range: Range(1000, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 306), fp: EncodedCountingMonoid(25, SumMonoid(4327)) }, Fingerprint { range: Range(306, 1000), fp: EncodedCountingMonoid(24, SumMonoid(14068)) }], item_sets: [ItemSet { range: Range(1000, 2), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 216), fp: EncodedCountingMonoid(9, SumMonoid(1040)) }, Fingerprint { range: Range(216, 306), fp: EncodedCountingMonoid(8, SumMonoid(2097)) }, Fingerprint { range: Range(306, 672), fp: EncodedCountingMonoid(18, SumMonoid(9540)) }, Fingerprint { range: Range(672, 1000), fp: EncodedCountingMonoid(18, SumMonoid(15467)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 156), fp: EncodedCountingMonoid(9, SumMonoid(735)) }, Fingerprint { range: Range(156, 216), fp: EncodedCountingMonoid(8, SumMonoid(1544)) }, Fingerprint { range: Range(216, 244), fp: EncodedCountingMonoid(4, SumMonoid(943)) }, Fingerprint { range: Range(244, 306), fp: EncodedCountingMonoid(4, SumMonoid(1105)) }, Fingerprint { range: Range(306, 411), fp: EncodedCountingMonoid(8, SumMonoid(2643)) }, Fingerprint { range: Range(411, 672), fp: EncodedCountingMonoid(7, SumMonoid(3750)) }, Fingerprint { range: Range(672, 858), fp: EncodedCountingMonoid(5, SumMonoid(3962)) }, Fingerprint { range: Range(858, 1000), fp: EncodedCountingMonoid(4, SumMonoid(3713)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 118), fp: EncodedCountingMonoid(3, SumMonoid(111)) }, Fingerprint { range: Range(118, 156), fp: EncodedCountingMonoid(3, SumMonoid(388)) }, Fingerprint { range: Range(244, 289), fp: EncodedCountingMonoid(3, SumMonoid(821)) }, Fingerprint { range: Range(411, 620), fp: EncodedCountingMonoid(8, SumMonoid(3898)) }, Fingerprint { range: Range(620, 672), fp: EncodedCountingMonoid(7, SumMonoid(4510)) }, Fingerprint { range: Range(672, 778), fp: EncodedCountingMonoid(4, SumMonoid(2857)) }, Fingerprint { range: Range(778, 858), fp: EncodedCountingMonoid(3, SumMonoid(2397)) }, Fingerprint { range: Range(858, 936), fp: EncodedCountingMonoid(6, SumMonoid(5356)) }, Fingerprint { range: Range(936, 1000), fp: EncodedCountingMonoid(5, SumMonoid(4857)) }], item_sets: [ItemSet { range: Range(156, 205), items: [166, 170], want_response: true }, ItemSet { range: Range(205, 216), items: [205], want_response: true }, ItemSet { range: Range(216, 240), items: [216, 232], want_response: true }, ItemSet { range: Range(240, 244), items: [240], want_response: true }, ItemSet { range: Range(289, 306), items: [289, 299], want_response: true }, ItemSet { range: Range(306, 405), items: [326, 401], want_response: true }, ItemSet { range: Range(405, 411), items: [405], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 73), fp: EncodedCountingMonoid(4, SumMonoid(208)) }, Fingerprint { range: Range(73, 118), fp: EncodedCountingMonoid(3, SumMonoid(241)) }, Fingerprint { range: Range(411, 562), fp: EncodedCountingMonoid(3, SumMonoid(1396)) }, Fingerprint { range: Range(562, 620), fp: EncodedCountingMonoid(3, SumMonoid(1713)) }], item_sets: [ItemSet { range: Range(156, 205), items: [156, 174, 193, 194, 202], want_response: false }, ItemSet { range: Range(205, 216), items: [205, 208, 212], want_response: false }, ItemSet { range: Range(216, 240), items: [230, 234, 239], want_response: false }, ItemSet { range: Range(240, 244), items: [240], want_response: false }, ItemSet { range: Range(289, 306), items: [291, 301], want_response: false }, ItemSet { range: Range(306, 405), items: [306, 307, 311, 313, 326, 337, 364, 379], want_response: false }, ItemSet { range: Range(405, 411), items: [], want_response: false }, ItemSet { range: Range(118, 156), items: [136, 150], want_response: true }, ItemSet { range: Range(244, 289), items: [244, 269], want_response: true }, ItemSet { range: Range(620, 672), items: [641], want_response: true }, ItemSet { range: Range(672, 778), items: [678], want_response: true }, ItemSet { range: Range(778, 837), items: [785, 818], want_response: true }, ItemSet { range: Range(837, 858), items: [837, 844], want_response: true }, ItemSet { range: Range(858, 936), items: [858, 865], want_response: true }, ItemSet { range: Range(936, 1000), items: [994, 996], want_response: true }], wants: [166, 170, 216, 232, 289, 299, 401, 405], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(411, 490), fp: EncodedCountingMonoid(4, SumMonoid(1810)) }, Fingerprint { range: Range(490, 562), fp: EncodedCountingMonoid(4, SumMonoid(2088)) }], item_sets: [ItemSet { range: Range(118, 156), items: [118, 128, 142], want_response: false }, ItemSet { range: Range(244, 289), items: [252, 282, 287], want_response: false }, ItemSet { range: Range(620, 672), items: [620, 632, 644, 646, 648, 649, 671], want_response: false }, ItemSet { range: Range(672, 778), items: [672, 692, 719, 774], want_response: false }, ItemSet { range: Range(778, 837), items: [778, 789, 830], want_response: false }, ItemSet { range: Range(837, 858), items: [], want_response: false }, ItemSet { range: Range(858, 936), items: [859, 861, 889, 893, 919, 935], want_response: false }, ItemSet { range: Range(936, 1000), items: [936, 954, 978, 990, 999], want_response: false }, ItemSet { range: Range(2, 73), items: [2, 29], want_response: true }, ItemSet { range: Range(73, 118), items: [80], want_response: true }, ItemSet { range: Range(562, 620), items: [], want_response: true }], wants: [156, 174, 193, 194, 202, 208, 212, 230, 234, 239, 291, 301, 306, 307, 311, 313, 337, 364, 379, 136, 150, 244, 269, 641, 678, 785, 818, 837, 844, 858, 865, 994, 996], provide: [(166, true), (170, true), (216, true), (232, true), (289, true), (299, true), (401, true), (405, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(2, 73), items: [22, 60, 61, 65], want_response: false }, ItemSet { range: Range(73, 118), items: [73, 82, 86], want_response: false }, ItemSet { range: Range(562, 620), items: [562, 564, 587], want_response: false }, ItemSet { range: Range(411, 490), items: [411, 465], want_response: true }, ItemSet { range: Range(490, 562), items: [520], want_response: true }], wants: [118, 128, 142, 252, 282, 287, 620, 632, 644, 646, 648, 649, 671, 672, 692, 719, 774, 778, 789, 830, 859, 861, 889, 893, 919, 935, 936, 954, 978, 990, 999, 2, 29, 80], provide: [(156, true), (174, true), (193, true), (194, true), (202, true), (208, true), (212, true), (230, true), (234, true), (239, true), (291, true), (301, true), (306, true), (307, true), (311, true), (313, true), (337, true), (364, true), (379, true), (136, true), (150, true), (244, true), (269, true), (641, true), (678, true), (785, true), (818, true), (837, true), (844, true), (858, true), (865, true), (994, true), (996, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(411, 490), items: [446, 447, 450, 467], want_response: false }, ItemSet { range: Range(490, 562), items: [490, 522, 532, 544], want_response: false }], wants: [22, 60, 61, 65, 73, 82, 86, 562, 564, 587, 411, 465, 520], provide: [(118, true), (128, true), (142, true), (252, true), (282, true), (287, true), (620, true), (632, true), (644, true), (646, true), (648, true), (649, true), (671, true), (672, true), (692, true), (719, true), (774, true), (778, true), (789, true), (830, true), (859, true), (861, true), (889, true), (893, true), (919, true), (935, true), (936, true), (954, true), (978, true), (990, true), (999, true), (2, true), (29, true), (80, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [446, 447, 450, 467, 490, 522, 532, 544], provide: [(22, true), (60, true), (61, true), (65, true), (73, true), (82, true), (86, true), (562, true), (564, true), (587, true), (411, true), (465, true), (520, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(446, true), (447, true), (450, true), (467, true), (490, true), (522, true), (532, true), (544, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 29, 80, 118, 128, 142, 166, 170, 205, 216, 232, 240, 252, 282, 287, 289, 299, 326, 401, 405, 446, 447, 450, 467, 490, 522, 532, 544, 620, 632, 644, 646, 648, 649, 671, 672, 692, 719, 774, 778, 789, 830, 859, 861, 889, 893, 919, 935, 936, 954, 978, 990, 999} + [156, 174, 193, 194, 202, 208, 212, 230, 234, 239, 291, 301, 306, 307, 311, 313, 337, 364, 379, 136, 150, 244, 269, 641, 678, 785, 818, 837, 844, 858, 865, 994, 996, 22, 60, 61, 65, 73, 82, 86, 562, 564, 587, 411, 465, 520] [INFO] [stdout] b all: {22, 60, 61, 65, 73, 82, 86, 136, 150, 156, 174, 193, 194, 202, 205, 208, 212, 230, 234, 239, 240, 244, 269, 291, 301, 306, 307, 311, 313, 326, 337, 364, 379, 411, 465, 520, 562, 564, 587, 641, 678, 785, 818, 837, 844, 858, 865, 994, 996} + [166, 170, 216, 232, 289, 299, 401, 405, 118, 128, 142, 252, 282, 287, 620, 632, 644, 646, 648, 649, 671, 672, 692, 719, 774, 778, 789, 830, 859, 861, 889, 893, 919, 935, 936, 954, 978, 990, 999, 2, 29, 80, 446, 447, 450, 467, 490, 522, 532, 544] [INFO] [stdout] [INFO] [stdout] all vec: [2, 22, 29, 60, 61, 65, 73, 80, 82, 86, 118, 128, 136, 142, 150, 156, 166, 170, 174, 193, 194, 202, 205, 208, 212, 216, 230, 232, 234, 239, 240, 244, 252, 269, 282, 287, 289, 291, 299, 301, 306, 307, 311, 313, 326, 337, 364, 379, 401, 405, 411, 446, 447, 450, 465, 467, 490, 520, 522, 532, 544, 562, 564, 587, 620, 632, 641, 644, 646, 648, 649, 671, 672, 678, 692, 719, 774, 778, 785, 789, 818, 830, 837, 844, 858, 859, 861, 865, 889, 893, 919, 935, 936, 954, 978, 990, 994, 996, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 22, 29, 60, 61, 65, 73, 80, 82, 86, 118, 128, 136, 142, 150, 156, 166, 170, 174, 193, 194, 202, 205, 208, 212, 216, 230, 232, 234, 239, 240, 244, 252, 269, 282, 287, 289, 291, 299, 301, 306, 307, 311, 313, 326, 337, 364, 379, 401, 405, 411, 446, 447, 450, 465, 467, 490, 520, 522, 532, 544, 562, 564, 587, 620, 632, 641, 644, 646, 648, 649, 671, 672, 678, 692, 719, 774, 778, 785, 789, 818, 830, 837, 844, 858, 859, 861, 865, 889, 893, 919, 935, 936, 954, 978, 990, 994, 996, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 22, 29, 60, 61, 65, 73, 80, 82, 86, 118, 128, 136, 142, 150, 156, 166, 170, 174, 193, 194, 202, 205, 208, 212, 216, 230, 232, 234, 239, 240, 244, 252, 269, 282, 287, 289, 291, 299, 301, 306, 307, 311, 313, 326, 337, 364, 379, 401, 405, 411, 446, 447, 450, 465, 467, 490, 520, 522, 532, 544, 562, 564, 587, 620, 632, 641, 644, 646, 648, 649, 671, 672, 678, 692, 719, 774, 778, 785, 789, 818, 830, 837, 844, 858, 859, 861, 865, 889, 893, 919, 935, 936, 954, 978, 990, 994, 996, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {503, 580, 972} [INFO] [stdout] b items: {76, 117, 234, 385, 458, 473, 663, 673, 844, 889} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(503, 973), fp: EncodedCountingMonoid(3, SumMonoid(2055)) }], item_sets: [ItemSet { range: Range(973, 503), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(973, 503), items: [76, 117, 234, 385, 458, 473], want_response: false }, ItemSet { range: Range(503, 844), items: [663, 673], want_response: true }, ItemSet { range: Range(844, 973), items: [844, 889], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(503, 844), items: [503, 580], want_response: false }, ItemSet { range: Range(844, 973), items: [972], want_response: false }], wants: [76, 117, 234, 385, 458, 473, 663, 673, 844, 889], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [503, 580, 972], provide: [(76, true), (117, true), (234, true), (385, true), (458, true), (473, true), (663, true), (673, true), (844, true), (889, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(503, true), (580, true), (972, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {503, 580, 972} + [76, 117, 234, 385, 458, 473, 663, 673, 844, 889] [INFO] [stdout] b all: {76, 117, 234, 385, 458, 473, 663, 673, 844, 889} + [503, 580, 972] [INFO] [stdout] [INFO] [stdout] all vec: [76, 117, 234, 385, 458, 473, 503, 580, 663, 673, 844, 889, 972] [INFO] [stdout] [INFO] [stdout] a all vec: [76, 117, 234, 385, 458, 473, 503, 580, 663, 673, 844, 889, 972], true true [INFO] [stdout] [INFO] [stdout] b all vec: [76, 117, 234, 385, 458, 473, 503, 580, 663, 673, 844, 889, 972], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 314, 329, 332, 346, 376, 446, 471, 533, 540, 545, 546, 551, 562, 563, 577, 692, 724, 735, 785, 799, 814, 835, 838, 849, 860, 867, 871, 897, 911, 955, 960, 965, 966, 977, 983} [INFO] [stdout] b items: {299, 490, 618, 626, 664, 785, 855, 977} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 984), fp: EncodedCountingMonoid(51, SumMonoid(26448)) }], item_sets: [ItemSet { range: Range(984, 11), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 664), fp: EncodedCountingMonoid(4, SumMonoid(2033)) }, Fingerprint { range: Range(664, 984), fp: EncodedCountingMonoid(4, SumMonoid(3281)) }], item_sets: [ItemSet { range: Range(984, 11), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 314), fp: EncodedCountingMonoid(16, SumMonoid(2134)) }, Fingerprint { range: Range(314, 664), fp: EncodedCountingMonoid(15, SumMonoid(7031)) }, Fingerprint { range: Range(664, 867), fp: EncodedCountingMonoid(10, SumMonoid(7931)) }, Fingerprint { range: Range(867, 984), fp: EncodedCountingMonoid(10, SumMonoid(9352)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 314), items: [299], want_response: true }, ItemSet { range: Range(314, 626), items: [490, 618], want_response: true }, ItemSet { range: Range(626, 664), items: [626], want_response: true }, ItemSet { range: Range(664, 855), items: [664, 785], want_response: true }, ItemSet { range: Range(855, 867), items: [855], want_response: true }, ItemSet { range: Range(867, 984), items: [977], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 314), items: [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280], want_response: false }, ItemSet { range: Range(314, 626), items: [314, 329, 332, 346, 376, 446, 471, 533, 540, 545, 546, 551, 562, 563, 577], want_response: false }, ItemSet { range: Range(626, 664), items: [], want_response: false }, ItemSet { range: Range(664, 855), items: [692, 724, 735, 785, 799, 814, 835, 838, 849], want_response: false }, ItemSet { range: Range(855, 867), items: [860], want_response: false }, ItemSet { range: Range(867, 984), items: [867, 871, 897, 911, 955, 960, 965, 966, 977, 983], want_response: false }], wants: [299, 490, 618, 626, 664, 855], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 314, 329, 332, 346, 376, 446, 471, 533, 540, 545, 546, 551, 562, 563, 577, 692, 724, 735, 799, 814, 835, 838, 849, 860, 867, 871, 897, 911, 955, 960, 965, 966, 983], provide: [(299, true), (490, true), (618, true), (626, true), (664, true), (855, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(11, true), (49, true), (61, true), (68, true), (70, true), (72, true), (80, true), (97, true), (113, true), (127, true), (161, true), (173, true), (253, true), (259, true), (260, true), (280, true), (314, true), (329, true), (332, true), (346, true), (376, true), (446, true), (471, true), (533, true), (540, true), (545, true), (546, true), (551, true), (562, true), (563, true), (577, true), (692, true), (724, true), (735, true), (799, true), (814, true), (835, true), (838, true), (849, true), (860, true), (867, true), (871, true), (897, true), (911, true), (955, true), (960, true), (965, true), (966, true), (983, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 314, 329, 332, 346, 376, 446, 471, 533, 540, 545, 546, 551, 562, 563, 577, 692, 724, 735, 785, 799, 814, 835, 838, 849, 860, 867, 871, 897, 911, 955, 960, 965, 966, 977, 983} + [299, 490, 618, 626, 664, 855] [INFO] [stdout] b all: {299, 490, 618, 626, 664, 785, 855, 977} + [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 314, 329, 332, 346, 376, 446, 471, 533, 540, 545, 546, 551, 562, 563, 577, 692, 724, 735, 799, 814, 835, 838, 849, 860, 867, 871, 897, 911, 955, 960, 965, 966, 983] [INFO] [stdout] [INFO] [stdout] all vec: [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 299, 314, 329, 332, 346, 376, 446, 471, 490, 533, 540, 545, 546, 551, 562, 563, 577, 618, 626, 664, 692, 724, 735, 785, 799, 814, 835, 838, 849, 855, 860, 867, 871, 897, 911, 955, 960, 965, 966, 977, 983] [INFO] [stdout] [INFO] [stdout] a all vec: [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 299, 314, 329, 332, 346, 376, 446, 471, 490, 533, 540, 545, 546, 551, 562, 563, 577, 618, 626, 664, 692, 724, 735, 785, 799, 814, 835, 838, 849, 855, 860, 867, 871, 897, 911, 955, 960, 965, 966, 977, 983], true true [INFO] [stdout] [INFO] [stdout] b all vec: [11, 49, 61, 68, 70, 72, 80, 97, 113, 127, 161, 173, 253, 259, 260, 280, 299, 314, 329, 332, 346, 376, 446, 471, 490, 533, 540, 545, 546, 551, 562, 563, 577, 618, 626, 664, 692, 724, 735, 785, 799, 814, 835, 838, 849, 855, 860, 867, 871, 897, 911, 955, 960, 965, 966, 977, 983], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {29, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 448, 472, 481, 503, 532, 554, 557, 609, 625, 667, 684, 751, 784, 792, 837, 841, 845, 904, 916} [INFO] [stdout] b items: {18, 40, 47, 398, 429, 640, 849} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 917), fp: EncodedCountingMonoid(32, SumMonoid(15412)) }], item_sets: [ItemSet { range: Range(917, 29), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(29, 429), fp: EncodedCountingMonoid(3, SumMonoid(485)) }, Fingerprint { range: Range(429, 917), fp: EncodedCountingMonoid(3, SumMonoid(1918)) }], item_sets: [ItemSet { range: Range(917, 29), items: [18], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(29, 209), fp: EncodedCountingMonoid(7, SumMonoid(878)) }, Fingerprint { range: Range(209, 429), fp: EncodedCountingMonoid(6, SumMonoid(1732)) }, Fingerprint { range: Range(429, 684), fp: EncodedCountingMonoid(10, SumMonoid(5448)) }, Fingerprint { range: Range(684, 917), fp: EncodedCountingMonoid(9, SumMonoid(7354)) }], item_sets: [], wants: [18], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 209), items: [40, 47], want_response: true }, ItemSet { range: Range(209, 429), items: [398], want_response: true }, ItemSet { range: Range(429, 684), items: [429, 640], want_response: true }, ItemSet { range: Range(684, 917), items: [849], want_response: true }], wants: [], provide: [(18, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(29, 209), items: [29, 62, 64, 152, 178, 187, 206], want_response: false }, ItemSet { range: Range(209, 429), items: [209, 227, 246, 327, 351, 372], want_response: false }, ItemSet { range: Range(429, 684), items: [448, 472, 481, 503, 532, 554, 557, 609, 625, 667], want_response: false }, ItemSet { range: Range(684, 917), items: [684, 751, 784, 792, 837, 841, 845, 904, 916], want_response: false }], wants: [40, 47, 398, 429, 640, 849], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [29, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 448, 472, 481, 503, 532, 554, 557, 609, 625, 667, 684, 751, 784, 792, 837, 841, 845, 904, 916], provide: [(40, true), (47, true), (398, true), (429, true), (640, true), (849, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(29, true), (62, true), (64, true), (152, true), (178, true), (187, true), (206, true), (209, true), (227, true), (246, true), (327, true), (351, true), (372, true), (448, true), (472, true), (481, true), (503, true), (532, true), (554, true), (557, true), (609, true), (625, true), (667, true), (684, true), (751, true), (784, true), (792, true), (837, true), (841, true), (845, true), (904, true), (916, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {29, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 448, 472, 481, 503, 532, 554, 557, 609, 625, 667, 684, 751, 784, 792, 837, 841, 845, 904, 916} + [18, 40, 47, 398, 429, 640, 849] [INFO] [stdout] b all: {18, 40, 47, 398, 429, 640, 849} + [29, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 448, 472, 481, 503, 532, 554, 557, 609, 625, 667, 684, 751, 784, 792, 837, 841, 845, 904, 916] [INFO] [stdout] [INFO] [stdout] all vec: [18, 29, 40, 47, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 398, 429, 448, 472, 481, 503, 532, 554, 557, 609, 625, 640, 667, 684, 751, 784, 792, 837, 841, 845, 849, 904, 916] [INFO] [stdout] [INFO] [stdout] a all vec: [18, 29, 40, 47, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 398, 429, 448, 472, 481, 503, 532, 554, 557, 609, 625, 640, 667, 684, 751, 784, 792, 837, 841, 845, 849, 904, 916], true true [INFO] [stdout] [INFO] [stdout] b all vec: [18, 29, 40, 47, 62, 64, 152, 178, 187, 206, 209, 227, 246, 327, 351, 372, 398, 429, 448, 472, 481, 503, 532, 554, 557, 609, 625, 640, 667, 684, 751, 784, 792, 837, 841, 845, 849, 904, 916], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {81, 91, 240, 252, 254, 301, 382, 432, 495, 532, 579, 609, 681, 699, 795, 844, 998} [INFO] [stdout] b items: {7, 19, 23, 30, 69, 74, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 254, 282, 288, 304, 358, 376, 420, 426, 427, 436, 439, 475, 477, 490, 493, 494, 502, 511, 518, 521, 532, 540, 547, 564, 566, 576, 580, 589, 592, 606, 622, 659, 666, 671, 677, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 805, 806, 822, 843, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(81, 999), fp: EncodedCountingMonoid(17, SumMonoid(8265)) }], item_sets: [ItemSet { range: Range(999, 81), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(81, 592), fp: EncodedCountingMonoid(44, SumMonoid(15555)) }, Fingerprint { range: Range(592, 999), fp: EncodedCountingMonoid(43, SumMonoid(34870)) }], item_sets: [ItemSet { range: Range(999, 81), items: [7, 19, 23, 30, 69, 74], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(81, 382), fp: EncodedCountingMonoid(6, SumMonoid(1219)) }, Fingerprint { range: Range(382, 592), fp: EncodedCountingMonoid(5, SumMonoid(2420)) }, Fingerprint { range: Range(592, 795), fp: EncodedCountingMonoid(3, SumMonoid(1989)) }, Fingerprint { range: Range(795, 999), fp: EncodedCountingMonoid(3, SumMonoid(2637)) }], item_sets: [], wants: [7, 19, 23, 30, 69, 74], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(81, 192), fp: EncodedCountingMonoid(11, SumMonoid(1522)) }, Fingerprint { range: Range(192, 382), fp: EncodedCountingMonoid(11, SumMonoid(2910)) }, Fingerprint { range: Range(382, 511), fp: EncodedCountingMonoid(11, SumMonoid(5079)) }, Fingerprint { range: Range(511, 592), fp: EncodedCountingMonoid(11, SumMonoid(6044)) }, Fingerprint { range: Range(592, 736), fp: EncodedCountingMonoid(11, SumMonoid(7371)) }, Fingerprint { range: Range(736, 795), fp: EncodedCountingMonoid(10, SumMonoid(7626)) }, Fingerprint { range: Range(795, 920), fp: EncodedCountingMonoid(11, SumMonoid(9404)) }, Fingerprint { range: Range(920, 999), fp: EncodedCountingMonoid(11, SumMonoid(10469)) }], item_sets: [], wants: [], provide: [(7, true), (19, true), (23, true), (30, true), (69, true), (74, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 192), items: [81, 91], want_response: true }, ItemSet { range: Range(192, 254), items: [240, 252], want_response: true }, ItemSet { range: Range(254, 382), items: [254, 301], want_response: true }, ItemSet { range: Range(382, 495), items: [382, 432], want_response: true }, ItemSet { range: Range(495, 511), items: [495], want_response: true }, ItemSet { range: Range(511, 592), items: [532, 579], want_response: true }, ItemSet { range: Range(592, 699), items: [609, 681], want_response: true }, ItemSet { range: Range(699, 736), items: [699], want_response: true }, ItemSet { range: Range(736, 795), items: [], want_response: true }, ItemSet { range: Range(795, 920), items: [795, 844], want_response: true }, ItemSet { range: Range(920, 999), items: [998], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(81, 192), items: [99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181], want_response: false }, ItemSet { range: Range(192, 254), items: [192, 193, 218, 222, 223], want_response: false }, ItemSet { range: Range(254, 382), items: [254, 282, 288, 304, 358, 376], want_response: false }, ItemSet { range: Range(382, 495), items: [420, 426, 427, 436, 439, 475, 477, 490, 493, 494], want_response: false }, ItemSet { range: Range(495, 511), items: [502], want_response: false }, ItemSet { range: Range(511, 592), items: [511, 518, 521, 532, 540, 547, 564, 566, 576, 580, 589], want_response: false }, ItemSet { range: Range(592, 699), items: [592, 606, 622, 659, 666, 671, 677], want_response: false }, ItemSet { range: Range(699, 736), items: [701, 717, 729, 731], want_response: false }, ItemSet { range: Range(736, 795), items: [736, 749, 752, 757, 761, 768, 771, 772, 775, 785], want_response: false }, ItemSet { range: Range(795, 920), items: [805, 806, 822, 843, 847, 852, 854, 862, 896, 905, 912], want_response: false }, ItemSet { range: Range(920, 999), items: [920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993], want_response: false }], wants: [81, 91, 240, 252, 301, 382, 432, 495, 579, 609, 681, 699, 795, 844, 998], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 282, 288, 304, 358, 376, 420, 426, 427, 436, 439, 475, 477, 490, 493, 494, 502, 511, 518, 521, 540, 547, 564, 566, 576, 580, 589, 592, 606, 622, 659, 666, 671, 677, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 805, 806, 822, 843, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993], provide: [(81, true), (91, true), (240, true), (252, true), (301, true), (382, true), (432, true), (495, true), (579, true), (609, true), (681, true), (699, true), (795, true), (844, true), (998, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(99, true), (104, true), (107, true), (122, true), (126, true), (147, true), (148, true), (154, true), (160, true), (174, true), (181, true), (192, true), (193, true), (218, true), (222, true), (223, true), (282, true), (288, true), (304, true), (358, true), (376, true), (420, true), (426, true), (427, true), (436, true), (439, true), (475, true), (477, true), (490, true), (493, true), (494, true), (502, true), (511, true), (518, true), (521, true), (540, true), (547, true), (564, true), (566, true), (576, true), (580, true), (589, true), (592, true), (606, true), (622, true), (659, true), (666, true), (671, true), (677, true), (701, true), (717, true), (729, true), (731, true), (736, true), (749, true), (752, true), (757, true), (761, true), (768, true), (771, true), (772, true), (775, true), (785, true), (805, true), (806, true), (822, true), (843, true), (847, true), (852, true), (854, true), (862, true), (896, true), (905, true), (912, true), (920, true), (928, true), (932, true), (935, true), (938, true), (939, true), (944, true), (969, true), (985, true), (986, true), (993, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {81, 91, 240, 252, 254, 301, 382, 432, 495, 532, 579, 609, 681, 699, 795, 844, 998} + [7, 19, 23, 30, 69, 74, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 282, 288, 304, 358, 376, 420, 426, 427, 436, 439, 475, 477, 490, 493, 494, 502, 511, 518, 521, 540, 547, 564, 566, 576, 580, 589, 592, 606, 622, 659, 666, 671, 677, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 805, 806, 822, 843, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993] [INFO] [stdout] b all: {7, 19, 23, 30, 69, 74, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 254, 282, 288, 304, 358, 376, 420, 426, 427, 436, 439, 475, 477, 490, 493, 494, 502, 511, 518, 521, 532, 540, 547, 564, 566, 576, 580, 589, 592, 606, 622, 659, 666, 671, 677, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 805, 806, 822, 843, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993} + [81, 91, 240, 252, 301, 382, 432, 495, 579, 609, 681, 699, 795, 844, 998] [INFO] [stdout] [INFO] [stdout] all vec: [7, 19, 23, 30, 69, 74, 81, 91, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 240, 252, 254, 282, 288, 301, 304, 358, 376, 382, 420, 426, 427, 432, 436, 439, 475, 477, 490, 493, 494, 495, 502, 511, 518, 521, 532, 540, 547, 564, 566, 576, 579, 580, 589, 592, 606, 609, 622, 659, 666, 671, 677, 681, 699, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 795, 805, 806, 822, 843, 844, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [7, 19, 23, 30, 69, 74, 81, 91, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 240, 252, 254, 282, 288, 301, 304, 358, 376, 382, 420, 426, 427, 432, 436, 439, 475, 477, 490, 493, 494, 495, 502, 511, 518, 521, 532, 540, 547, 564, 566, 576, 579, 580, 589, 592, 606, 609, 622, 659, 666, 671, 677, 681, 699, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 795, 805, 806, 822, 843, 844, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [7, 19, 23, 30, 69, 74, 81, 91, 99, 104, 107, 122, 126, 147, 148, 154, 160, 174, 181, 192, 193, 218, 222, 223, 240, 252, 254, 282, 288, 301, 304, 358, 376, 382, 420, 426, 427, 432, 436, 439, 475, 477, 490, 493, 494, 495, 502, 511, 518, 521, 532, 540, 547, 564, 566, 576, 579, 580, 589, 592, 606, 609, 622, 659, 666, 671, 677, 681, 699, 701, 717, 729, 731, 736, 749, 752, 757, 761, 768, 771, 772, 775, 785, 795, 805, 806, 822, 843, 844, 847, 852, 854, 862, 896, 905, 912, 920, 928, 932, 935, 938, 939, 944, 969, 985, 986, 993, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 26, 28, 33, 45, 63, 68, 70, 77, 79, 89, 107, 128, 139, 149, 158, 166, 191, 193, 194, 200, 208, 214, 226, 244, 251, 280, 289, 294, 298, 301, 303, 340, 349, 352, 368, 382, 407, 411, 416, 418, 425, 446, 448, 456, 474, 475, 489, 510, 515, 520, 539, 563, 587, 617, 644, 648, 668, 673, 677, 701, 705, 708, 716, 748, 759, 761, 767, 786, 792, 818, 827, 848, 879, 897, 899, 901, 902, 905, 919, 920, 936, 968, 969, 996} [INFO] [stdout] b items: {31, 37, 54, 68, 81, 97, 110, 112, 133, 140, 153, 161, 172, 199, 214, 225, 237, 243, 263, 277, 291, 292, 311, 317, 332, 337, 348, 353, 355, 359, 363, 389, 402, 416, 419, 421, 435, 437, 441, 454, 473, 485, 497, 503, 504, 562, 563, 587, 592, 608, 650, 666, 678, 688, 700, 701, 738, 747, 754, 774, 802, 804, 824, 854, 913, 939, 940, 945, 959} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 997), fp: EncodedCountingMonoid(85, SumMonoid(39970)) }], item_sets: [ItemSet { range: Range(997, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 421), fp: EncodedCountingMonoid(35, SumMonoid(8291)) }, Fingerprint { range: Range(421, 997), fp: EncodedCountingMonoid(34, SumMonoid(22638)) }], item_sets: [ItemSet { range: Range(997, 15), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 208), fp: EncodedCountingMonoid(21, SumMonoid(2218)) }, Fingerprint { range: Range(208, 421), fp: EncodedCountingMonoid(20, SumMonoid(6351)) }, Fingerprint { range: Range(421, 716), fp: EncodedCountingMonoid(22, SumMonoid(12488)) }, Fingerprint { range: Range(716, 997), fp: EncodedCountingMonoid(22, SumMonoid(18913)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 112), fp: EncodedCountingMonoid(7, SumMonoid(478)) }, Fingerprint { range: Range(112, 208), fp: EncodedCountingMonoid(7, SumMonoid(1070)) }, Fingerprint { range: Range(208, 337), fp: EncodedCountingMonoid(11, SumMonoid(3002)) }, Fingerprint { range: Range(337, 421), fp: EncodedCountingMonoid(10, SumMonoid(3741)) }, Fingerprint { range: Range(421, 563), fp: EncodedCountingMonoid(11, SumMonoid(5212)) }, Fingerprint { range: Range(563, 716), fp: EncodedCountingMonoid(10, SumMonoid(6433)) }, Fingerprint { range: Range(716, 854), fp: EncodedCountingMonoid(7, SumMonoid(5443)) }, Fingerprint { range: Range(854, 997), fp: EncodedCountingMonoid(6, SumMonoid(5550)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 68), fp: EncodedCountingMonoid(6, SumMonoid(210)) }, Fingerprint { range: Range(68, 112), fp: EncodedCountingMonoid(6, SumMonoid(490)) }, Fingerprint { range: Range(112, 191), fp: EncodedCountingMonoid(5, SumMonoid(740)) }, Fingerprint { range: Range(191, 208), fp: EncodedCountingMonoid(4, SumMonoid(778)) }, Fingerprint { range: Range(208, 289), fp: EncodedCountingMonoid(6, SumMonoid(1423)) }, Fingerprint { range: Range(289, 337), fp: EncodedCountingMonoid(5, SumMonoid(1485)) }, Fingerprint { range: Range(337, 407), fp: EncodedCountingMonoid(5, SumMonoid(1791)) }, Fingerprint { range: Range(407, 421), fp: EncodedCountingMonoid(4, SumMonoid(1652)) }, Fingerprint { range: Range(421, 489), fp: EncodedCountingMonoid(6, SumMonoid(2724)) }, Fingerprint { range: Range(489, 563), fp: EncodedCountingMonoid(5, SumMonoid(2573)) }, Fingerprint { range: Range(563, 673), fp: EncodedCountingMonoid(6, SumMonoid(3727)) }, Fingerprint { range: Range(673, 716), fp: EncodedCountingMonoid(5, SumMonoid(3464)) }, Fingerprint { range: Range(716, 786), fp: EncodedCountingMonoid(5, SumMonoid(3751)) }, Fingerprint { range: Range(786, 854), fp: EncodedCountingMonoid(5, SumMonoid(4071)) }, Fingerprint { range: Range(854, 919), fp: EncodedCountingMonoid(6, SumMonoid(5383)) }, Fingerprint { range: Range(919, 997), fp: EncodedCountingMonoid(6, SumMonoid(5708)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(112, 153), fp: EncodedCountingMonoid(3, SumMonoid(385)) }, Fingerprint { range: Range(153, 191), fp: EncodedCountingMonoid(3, SumMonoid(486)) }, Fingerprint { range: Range(208, 243), fp: EncodedCountingMonoid(3, SumMonoid(676)) }, Fingerprint { range: Range(243, 289), fp: EncodedCountingMonoid(3, SumMonoid(783)) }, Fingerprint { range: Range(289, 317), fp: EncodedCountingMonoid(3, SumMonoid(894)) }, Fingerprint { range: Range(337, 359), fp: EncodedCountingMonoid(4, SumMonoid(1393)) }, Fingerprint { range: Range(359, 407), fp: EncodedCountingMonoid(4, SumMonoid(1513)) }, Fingerprint { range: Range(421, 454), fp: EncodedCountingMonoid(4, SumMonoid(1734)) }, Fingerprint { range: Range(454, 489), fp: EncodedCountingMonoid(3, SumMonoid(1412)) }, Fingerprint { range: Range(563, 608), fp: EncodedCountingMonoid(3, SumMonoid(1742)) }, Fingerprint { range: Range(608, 673), fp: EncodedCountingMonoid(3, SumMonoid(1924)) }], item_sets: [ItemSet { range: Range(15, 54), items: [31, 37], want_response: true }, ItemSet { range: Range(54, 68), items: [54], want_response: true }, ItemSet { range: Range(68, 97), items: [68, 81], want_response: true }, ItemSet { range: Range(97, 112), items: [97, 110], want_response: true }, ItemSet { range: Range(191, 208), items: [199], want_response: true }, ItemSet { range: Range(317, 337), items: [317, 332], want_response: true }, ItemSet { range: Range(407, 421), items: [416, 419], want_response: true }, ItemSet { range: Range(489, 504), items: [497, 503], want_response: true }, ItemSet { range: Range(504, 563), items: [504, 562], want_response: true }, ItemSet { range: Range(673, 700), items: [678, 688], want_response: true }, ItemSet { range: Range(700, 716), items: [700, 701], want_response: true }, ItemSet { range: Range(716, 754), items: [738, 747], want_response: true }, ItemSet { range: Range(754, 786), items: [754, 774], want_response: true }, ItemSet { range: Range(786, 824), items: [802, 804], want_response: true }, ItemSet { range: Range(824, 854), items: [824], want_response: true }, ItemSet { range: Range(854, 919), items: [854, 913], want_response: true }, ItemSet { range: Range(919, 945), items: [939, 940], want_response: true }, ItemSet { range: Range(945, 997), items: [945, 959], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(289, 301), fp: EncodedCountingMonoid(3, SumMonoid(881)) }], item_sets: [ItemSet { range: Range(15, 54), items: [15, 26, 28, 33, 45], want_response: false }, ItemSet { range: Range(54, 68), items: [63], want_response: false }, ItemSet { range: Range(68, 97), items: [68, 70, 77, 79, 89], want_response: false }, ItemSet { range: Range(97, 112), items: [107], want_response: false }, ItemSet { range: Range(191, 208), items: [191, 193, 194, 200], want_response: false }, ItemSet { range: Range(317, 337), items: [], want_response: false }, ItemSet { range: Range(407, 421), items: [407, 411, 416, 418], want_response: false }, ItemSet { range: Range(489, 504), items: [489], want_response: false }, ItemSet { range: Range(504, 563), items: [510, 515, 520, 539], want_response: false }, ItemSet { range: Range(673, 700), items: [673, 677], want_response: false }, ItemSet { range: Range(700, 716), items: [701, 705, 708], want_response: false }, ItemSet { range: Range(716, 754), items: [716, 748], want_response: false }, ItemSet { range: Range(754, 786), items: [759, 761, 767], want_response: false }, ItemSet { range: Range(786, 824), items: [786, 792, 818], want_response: false }, ItemSet { range: Range(824, 854), items: [827, 848], want_response: false }, ItemSet { range: Range(854, 919), items: [879, 897, 899, 901, 902, 905], want_response: false }, ItemSet { range: Range(919, 945), items: [919, 920, 936], want_response: false }, ItemSet { range: Range(945, 997), items: [968, 969, 996], want_response: false }, ItemSet { range: Range(112, 149), items: [128, 139], want_response: true }, ItemSet { range: Range(149, 153), items: [149], want_response: true }, ItemSet { range: Range(153, 191), items: [158, 166], want_response: true }, ItemSet { range: Range(208, 226), items: [208, 214], want_response: true }, ItemSet { range: Range(226, 243), items: [226], want_response: true }, ItemSet { range: Range(243, 280), items: [244, 251], want_response: true }, ItemSet { range: Range(280, 289), items: [280], want_response: true }, ItemSet { range: Range(301, 317), items: [301, 303], want_response: true }, ItemSet { range: Range(337, 352), items: [340, 349], want_response: true }, ItemSet { range: Range(352, 359), items: [352], want_response: true }, ItemSet { range: Range(359, 407), items: [368, 382], want_response: true }, ItemSet { range: Range(421, 448), items: [425, 446], want_response: true }, ItemSet { range: Range(448, 454), items: [448], want_response: true }, ItemSet { range: Range(454, 475), items: [456, 474], want_response: true }, ItemSet { range: Range(475, 489), items: [475], want_response: true }, ItemSet { range: Range(563, 608), items: [563, 587], want_response: true }, ItemSet { range: Range(608, 648), items: [617, 644], want_response: true }, ItemSet { range: Range(648, 673), items: [648, 668], want_response: true }], wants: [31, 37, 54, 81, 97, 110, 199, 317, 332, 419, 497, 503, 504, 562, 678, 688, 700, 738, 747, 754, 774, 802, 804, 824, 854, 913, 939, 940, 945, 959], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(112, 149), items: [112, 133, 140], want_response: false }, ItemSet { range: Range(149, 153), items: [], want_response: false }, ItemSet { range: Range(153, 191), items: [153, 161, 172], want_response: false }, ItemSet { range: Range(208, 226), items: [214, 225], want_response: false }, ItemSet { range: Range(226, 243), items: [237], want_response: false }, ItemSet { range: Range(243, 280), items: [243, 263, 277], want_response: false }, ItemSet { range: Range(280, 289), items: [], want_response: false }, ItemSet { range: Range(301, 317), items: [311], want_response: false }, ItemSet { range: Range(337, 352), items: [337, 348], want_response: false }, ItemSet { range: Range(352, 359), items: [353, 355], want_response: false }, ItemSet { range: Range(359, 407), items: [359, 363, 389, 402], want_response: false }, ItemSet { range: Range(421, 448), items: [421, 435, 437, 441], want_response: false }, ItemSet { range: Range(448, 454), items: [], want_response: false }, ItemSet { range: Range(454, 475), items: [454, 473], want_response: false }, ItemSet { range: Range(475, 489), items: [485], want_response: false }, ItemSet { range: Range(563, 608), items: [563, 587, 592], want_response: false }, ItemSet { range: Range(608, 648), items: [608], want_response: false }, ItemSet { range: Range(648, 673), items: [650, 666], want_response: false }, ItemSet { range: Range(289, 301), items: [291, 292], want_response: true }], wants: [15, 26, 28, 33, 45, 63, 70, 77, 79, 89, 107, 191, 193, 194, 200, 407, 411, 418, 489, 510, 515, 520, 539, 673, 677, 705, 708, 716, 748, 759, 761, 767, 786, 792, 818, 827, 848, 879, 897, 899, 901, 902, 905, 919, 920, 936, 968, 969, 996, 128, 139, 149, 158, 166, 208, 226, 244, 251, 280, 301, 303, 340, 349, 352, 368, 382, 425, 446, 448, 456, 474, 475, 617, 644, 648, 668], provide: [(31, true), (37, true), (54, true), (81, true), (97, true), (110, true), (199, true), (317, true), (332, true), (419, true), (497, true), (503, true), (504, true), (562, true), (678, true), (688, true), (700, true), (738, true), (747, true), (754, true), (774, true), (802, true), (804, true), (824, true), (854, true), (913, true), (939, true), (940, true), (945, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(289, 301), items: [289, 294, 298], want_response: false }], wants: [112, 133, 140, 153, 161, 172, 225, 237, 243, 263, 277, 311, 337, 348, 353, 355, 359, 363, 389, 402, 421, 435, 437, 441, 454, 473, 485, 592, 608, 650, 666, 291, 292], provide: [(15, true), (26, true), (28, true), (33, true), (45, true), (63, true), (70, true), (77, true), (79, true), (89, true), (107, true), (191, true), (193, true), (194, true), (200, true), (407, true), (411, true), (418, true), (489, true), (510, true), (515, true), (520, true), (539, true), (673, true), (677, true), (705, true), (708, true), (716, true), (748, true), (759, true), (761, true), (767, true), (786, true), (792, true), (818, true), (827, true), (848, true), (879, true), (897, true), (899, true), (901, true), (902, true), (905, true), (919, true), (920, true), (936, true), (968, true), (969, true), (996, true), (128, true), (139, true), (149, true), (158, true), (166, true), (208, true), (226, true), (244, true), (251, true), (280, true), (301, true), (303, true), (340, true), (349, true), (352, true), (368, true), (382, true), (425, true), (446, true), (448, true), (456, true), (474, true), (475, true), (617, true), (644, true), (648, true), (668, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [289, 294, 298], provide: [(112, true), (133, true), (140, true), (153, true), (161, true), (172, true), (225, true), (237, true), (243, true), (263, true), (277, true), (311, true), (337, true), (348, true), (353, true), (355, true), (359, true), (363, true), (389, true), (402, true), (421, true), (435, true), (437, true), (441, true), (454, true), (473, true), (485, true), (592, true), (608, true), (650, true), (666, true), (291, true), (292, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(289, true), (294, true), (298, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 26, 28, 33, 45, 63, 68, 70, 77, 79, 89, 107, 128, 139, 149, 158, 166, 191, 193, 194, 200, 208, 214, 226, 244, 251, 280, 289, 294, 298, 301, 303, 340, 349, 352, 368, 382, 407, 411, 416, 418, 425, 446, 448, 456, 474, 475, 489, 510, 515, 520, 539, 563, 587, 617, 644, 648, 668, 673, 677, 701, 705, 708, 716, 748, 759, 761, 767, 786, 792, 818, 827, 848, 879, 897, 899, 901, 902, 905, 919, 920, 936, 968, 969, 996} + [31, 37, 54, 81, 97, 110, 199, 317, 332, 419, 497, 503, 504, 562, 678, 688, 700, 738, 747, 754, 774, 802, 804, 824, 854, 913, 939, 940, 945, 959, 112, 133, 140, 153, 161, 172, 225, 237, 243, 263, 277, 311, 337, 348, 353, 355, 359, 363, 389, 402, 421, 435, 437, 441, 454, 473, 485, 592, 608, 650, 666, 291, 292] [INFO] [stdout] b all: {31, 37, 54, 68, 81, 97, 110, 112, 133, 140, 153, 161, 172, 199, 214, 225, 237, 243, 263, 277, 291, 292, 311, 317, 332, 337, 348, 353, 355, 359, 363, 389, 402, 416, 419, 421, 435, 437, 441, 454, 473, 485, 497, 503, 504, 562, 563, 587, 592, 608, 650, 666, 678, 688, 700, 701, 738, 747, 754, 774, 802, 804, 824, 854, 913, 939, 940, 945, 959} + [15, 26, 28, 33, 45, 63, 70, 77, 79, 89, 107, 191, 193, 194, 200, 407, 411, 418, 489, 510, 515, 520, 539, 673, 677, 705, 708, 716, 748, 759, 761, 767, 786, 792, 818, 827, 848, 879, 897, 899, 901, 902, 905, 919, 920, 936, 968, 969, 996, 128, 139, 149, 158, 166, 208, 226, 244, 251, 280, 301, 303, 340, 349, 352, 368, 382, 425, 446, 448, 456, 474, 475, 617, 644, 648, 668, 289, 294, 298] [INFO] [stdout] [INFO] [stdout] all vec: [15, 26, 28, 31, 33, 37, 45, 54, 63, 68, 70, 77, 79, 81, 89, 97, 107, 110, 112, 128, 133, 139, 140, 149, 153, 158, 161, 166, 172, 191, 193, 194, 199, 200, 208, 214, 225, 226, 237, 243, 244, 251, 263, 277, 280, 289, 291, 292, 294, 298, 301, 303, 311, 317, 332, 337, 340, 348, 349, 352, 353, 355, 359, 363, 368, 382, 389, 402, 407, 411, 416, 418, 419, 421, 425, 435, 437, 441, 446, 448, 454, 456, 473, 474, 475, 485, 489, 497, 503, 504, 510, 515, 520, 539, 562, 563, 587, 592, 608, 617, 644, 648, 650, 666, 668, 673, 677, 678, 688, 700, 701, 705, 708, 716, 738, 747, 748, 754, 759, 761, 767, 774, 786, 792, 802, 804, 818, 824, 827, 848, 854, 879, 897, 899, 901, 902, 905, 913, 919, 920, 936, 939, 940, 945, 959, 968, 969, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [15, 26, 28, 31, 33, 37, 45, 54, 63, 68, 70, 77, 79, 81, 89, 97, 107, 110, 112, 128, 133, 139, 140, 149, 153, 158, 161, 166, 172, 191, 193, 194, 199, 200, 208, 214, 225, 226, 237, 243, 244, 251, 263, 277, 280, 289, 291, 292, 294, 298, 301, 303, 311, 317, 332, 337, 340, 348, 349, 352, 353, 355, 359, 363, 368, 382, 389, 402, 407, 411, 416, 418, 419, 421, 425, 435, 437, 441, 446, 448, 454, 456, 473, 474, 475, 485, 489, 497, 503, 504, 510, 515, 520, 539, 562, 563, 587, 592, 608, 617, 644, 648, 650, 666, 668, 673, 677, 678, 688, 700, 701, 705, 708, 716, 738, 747, 748, 754, 759, 761, 767, 774, 786, 792, 802, 804, 818, 824, 827, 848, 854, 879, 897, 899, 901, 902, 905, 913, 919, 920, 936, 939, 940, 945, 959, 968, 969, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [15, 26, 28, 31, 33, 37, 45, 54, 63, 68, 70, 77, 79, 81, 89, 97, 107, 110, 112, 128, 133, 139, 140, 149, 153, 158, 161, 166, 172, 191, 193, 194, 199, 200, 208, 214, 225, 226, 237, 243, 244, 251, 263, 277, 280, 289, 291, 292, 294, 298, 301, 303, 311, 317, 332, 337, 340, 348, 349, 352, 353, 355, 359, 363, 368, 382, 389, 402, 407, 411, 416, 418, 419, 421, 425, 435, 437, 441, 446, 448, 454, 456, 473, 474, 475, 485, 489, 497, 503, 504, 510, 515, 520, 539, 562, 563, 587, 592, 608, 617, 644, 648, 650, 666, 668, 673, 677, 678, 688, 700, 701, 705, 708, 716, 738, 747, 748, 754, 759, 761, 767, 774, 786, 792, 802, 804, 818, 824, 827, 848, 854, 879, 897, 899, 901, 902, 905, 913, 919, 920, 936, 939, 940, 945, 959, 968, 969, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {118, 183, 198, 297, 300, 312, 333, 338, 347, 457, 464, 503, 626, 746, 774, 791, 856, 868, 878, 893, 894, 952} [INFO] [stdout] b items: {29, 35, 58, 89, 108, 123, 124, 126, 135, 183, 276, 292, 309, 312, 316, 324, 333, 356, 392, 395, 396, 418, 421, 449, 461, 463, 471, 518, 541, 544, 569, 603, 628, 634, 655, 685, 713, 723, 805, 813, 836, 847, 875, 918, 935, 937, 942} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(118, 953), fp: EncodedCountingMonoid(22, SumMonoid(12128)) }], item_sets: [ItemSet { range: Range(953, 118), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(118, 471), fp: EncodedCountingMonoid(21, SumMonoid(6604)) }, Fingerprint { range: Range(471, 953), fp: EncodedCountingMonoid(21, SumMonoid(15192)) }], item_sets: [ItemSet { range: Range(953, 118), items: [29, 35, 58, 89, 108], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(118, 333), fp: EncodedCountingMonoid(6, SumMonoid(1408)) }, Fingerprint { range: Range(333, 471), fp: EncodedCountingMonoid(5, SumMonoid(1939)) }, Fingerprint { range: Range(471, 868), fp: EncodedCountingMonoid(6, SumMonoid(4296)) }, Fingerprint { range: Range(868, 953), fp: EncodedCountingMonoid(5, SumMonoid(4485)) }], item_sets: [], wants: [29, 35, 58, 89, 108], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(118, 292), fp: EncodedCountingMonoid(6, SumMonoid(967)) }, Fingerprint { range: Range(292, 333), fp: EncodedCountingMonoid(5, SumMonoid(1553)) }, Fingerprint { range: Range(333, 418), fp: EncodedCountingMonoid(5, SumMonoid(1872)) }, Fingerprint { range: Range(418, 471), fp: EncodedCountingMonoid(5, SumMonoid(2212)) }, Fingerprint { range: Range(471, 655), fp: EncodedCountingMonoid(8, SumMonoid(4508)) }, Fingerprint { range: Range(655, 868), fp: EncodedCountingMonoid(8, SumMonoid(6077)) }, Fingerprint { range: Range(868, 937), fp: EncodedCountingMonoid(3, SumMonoid(2728)) }], item_sets: [ItemSet { range: Range(937, 953), items: [937, 942], want_response: true }], wants: [], provide: [(29, true), (35, true), (58, true), (89, true), (108, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(937, 953), items: [952], want_response: false }, ItemSet { range: Range(118, 198), items: [118, 183], want_response: true }, ItemSet { range: Range(198, 292), items: [198], want_response: true }, ItemSet { range: Range(292, 312), items: [297, 300], want_response: true }, ItemSet { range: Range(312, 333), items: [312], want_response: true }, ItemSet { range: Range(333, 347), items: [333, 338], want_response: true }, ItemSet { range: Range(347, 418), items: [347], want_response: true }, ItemSet { range: Range(418, 471), items: [457, 464], want_response: true }, ItemSet { range: Range(471, 655), items: [503, 626], want_response: true }, ItemSet { range: Range(655, 791), items: [746, 774], want_response: true }, ItemSet { range: Range(791, 868), items: [791, 856], want_response: true }, ItemSet { range: Range(868, 893), items: [868, 878], want_response: true }, ItemSet { range: Range(893, 937), items: [893, 894], want_response: true }], wants: [937, 942], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(118, 198), items: [123, 124, 126, 135, 183], want_response: false }, ItemSet { range: Range(198, 292), items: [276], want_response: false }, ItemSet { range: Range(292, 312), items: [292, 309], want_response: false }, ItemSet { range: Range(312, 333), items: [312, 316, 324], want_response: false }, ItemSet { range: Range(333, 347), items: [333], want_response: false }, ItemSet { range: Range(347, 418), items: [356, 392, 395, 396], want_response: false }, ItemSet { range: Range(418, 471), items: [418, 421, 449, 461, 463], want_response: false }, ItemSet { range: Range(471, 655), items: [471, 518, 541, 544, 569, 603, 628, 634], want_response: false }, ItemSet { range: Range(655, 791), items: [655, 685, 713, 723], want_response: false }, ItemSet { range: Range(791, 868), items: [805, 813, 836, 847], want_response: false }, ItemSet { range: Range(868, 893), items: [875], want_response: false }, ItemSet { range: Range(893, 937), items: [918, 935], want_response: false }], wants: [952, 118, 198, 297, 300, 338, 347, 457, 464, 503, 626, 746, 774, 791, 856, 868, 878, 893, 894], provide: [(937, true), (942, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [123, 124, 126, 135, 276, 292, 309, 316, 324, 356, 392, 395, 396, 418, 421, 449, 461, 463, 471, 518, 541, 544, 569, 603, 628, 634, 655, 685, 713, 723, 805, 813, 836, 847, 875, 918, 935], provide: [(952, true), (118, true), (198, true), (297, true), (300, true), (338, true), (347, true), (457, true), (464, true), (503, true), (626, true), (746, true), (774, true), (791, true), (856, true), (868, true), (878, true), (893, true), (894, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(123, true), (124, true), (126, true), (135, true), (276, true), (292, true), (309, true), (316, true), (324, true), (356, true), (392, true), (395, true), (396, true), (418, true), (421, true), (449, true), (461, true), (463, true), (471, true), (518, true), (541, true), (544, true), (569, true), (603, true), (628, true), (634, true), (655, true), (685, true), (713, true), (723, true), (805, true), (813, true), (836, true), (847, true), (875, true), (918, true), (935, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {118, 183, 198, 297, 300, 312, 333, 338, 347, 457, 464, 503, 626, 746, 774, 791, 856, 868, 878, 893, 894, 952} + [29, 35, 58, 89, 108, 937, 942, 123, 124, 126, 135, 276, 292, 309, 316, 324, 356, 392, 395, 396, 418, 421, 449, 461, 463, 471, 518, 541, 544, 569, 603, 628, 634, 655, 685, 713, 723, 805, 813, 836, 847, 875, 918, 935] [INFO] [stdout] b all: {29, 35, 58, 89, 108, 123, 124, 126, 135, 183, 276, 292, 309, 312, 316, 324, 333, 356, 392, 395, 396, 418, 421, 449, 461, 463, 471, 518, 541, 544, 569, 603, 628, 634, 655, 685, 713, 723, 805, 813, 836, 847, 875, 918, 935, 937, 942} + [952, 118, 198, 297, 300, 338, 347, 457, 464, 503, 626, 746, 774, 791, 856, 868, 878, 893, 894] [INFO] [stdout] [INFO] [stdout] all vec: [29, 35, 58, 89, 108, 118, 123, 124, 126, 135, 183, 198, 276, 292, 297, 300, 309, 312, 316, 324, 333, 338, 347, 356, 392, 395, 396, 418, 421, 449, 457, 461, 463, 464, 471, 503, 518, 541, 544, 569, 603, 626, 628, 634, 655, 685, 713, 723, 746, 774, 791, 805, 813, 836, 847, 856, 868, 875, 878, 893, 894, 918, 935, 937, 942, 952] [INFO] [stdout] [INFO] [stdout] a all vec: [29, 35, 58, 89, 108, 118, 123, 124, 126, 135, 183, 198, 276, 292, 297, 300, 309, 312, 316, 324, 333, 338, 347, 356, 392, 395, 396, 418, 421, 449, 457, 461, 463, 464, 471, 503, 518, 541, 544, 569, 603, 626, 628, 634, 655, 685, 713, 723, 746, 774, 791, 805, 813, 836, 847, 856, 868, 875, 878, 893, 894, 918, 935, 937, 942, 952], true true [INFO] [stdout] [INFO] [stdout] b all vec: [29, 35, 58, 89, 108, 118, 123, 124, 126, 135, 183, 198, 276, 292, 297, 300, 309, 312, 316, 324, 333, 338, 347, 356, 392, 395, 396, 418, 421, 449, 457, 461, 463, 464, 471, 503, 518, 541, 544, 569, 603, 626, 628, 634, 655, 685, 713, 723, 746, 774, 791, 805, 813, 836, 847, 856, 868, 875, 878, 893, 894, 918, 935, 937, 942, 952], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {25, 55, 117, 134, 192, 195, 201, 229, 259, 284, 285, 320, 384, 388, 391, 407, 408, 411, 496, 507, 583, 591, 595, 599, 618, 630, 661, 720, 728, 740, 757, 761, 802, 827, 853, 877, 891, 904, 911, 933, 951, 964, 973, 977, 981, 994} [INFO] [stdout] b items: {9, 12, 32, 38, 62, 70, 131, 143, 221, 235, 259, 262, 292, 336, 401, 452, 525, 551, 596, 626, 639, 650, 675, 747, 775, 807, 811, 817, 830, 865, 903, 922} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 995), fp: EncodedCountingMonoid(46, SumMonoid(26509)) }], item_sets: [ItemSet { range: Range(995, 25), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 551), fp: EncodedCountingMonoid(15, SumMonoid(3459)) }, Fingerprint { range: Range(551, 995), fp: EncodedCountingMonoid(15, SumMonoid(11214)) }], item_sets: [ItemSet { range: Range(995, 25), items: [9, 12], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 285), fp: EncodedCountingMonoid(10, SumMonoid(1691)) }, Fingerprint { range: Range(285, 551), fp: EncodedCountingMonoid(10, SumMonoid(3997)) }, Fingerprint { range: Range(551, 827), fp: EncodedCountingMonoid(13, SumMonoid(8785)) }, Fingerprint { range: Range(827, 995), fp: EncodedCountingMonoid(13, SumMonoid(12036)) }], item_sets: [], wants: [9, 12], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 143), fp: EncodedCountingMonoid(5, SumMonoid(333)) }, Fingerprint { range: Range(143, 285), fp: EncodedCountingMonoid(5, SumMonoid(1120)) }, Fingerprint { range: Range(285, 452), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(551, 747), fp: EncodedCountingMonoid(6, SumMonoid(3737)) }, Fingerprint { range: Range(747, 827), fp: EncodedCountingMonoid(5, SumMonoid(3957)) }], item_sets: [ItemSet { range: Range(452, 551), items: [452, 525], want_response: true }, ItemSet { range: Range(827, 903), items: [830, 865], want_response: true }, ItemSet { range: Range(903, 995), items: [903, 922], want_response: true }], wants: [], provide: [(9, true), (12, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(143, 229), fp: EncodedCountingMonoid(3, SumMonoid(588)) }, Fingerprint { range: Range(229, 285), fp: EncodedCountingMonoid(3, SumMonoid(772)) }, Fingerprint { range: Range(285, 391), fp: EncodedCountingMonoid(4, SumMonoid(1377)) }, Fingerprint { range: Range(391, 452), fp: EncodedCountingMonoid(4, SumMonoid(1617)) }, Fingerprint { range: Range(551, 630), fp: EncodedCountingMonoid(5, SumMonoid(2986)) }, Fingerprint { range: Range(630, 747), fp: EncodedCountingMonoid(5, SumMonoid(3479)) }], item_sets: [ItemSet { range: Range(452, 551), items: [496, 507], want_response: false }, ItemSet { range: Range(827, 903), items: [827, 853, 877, 891], want_response: false }, ItemSet { range: Range(903, 995), items: [904, 911, 933, 951, 964, 973, 977, 981, 994], want_response: false }, ItemSet { range: Range(25, 117), items: [25, 55], want_response: true }, ItemSet { range: Range(117, 143), items: [117, 134], want_response: true }, ItemSet { range: Range(747, 802), items: [757, 761], want_response: true }, ItemSet { range: Range(802, 827), items: [802], want_response: true }], wants: [452, 525, 830, 865, 903, 922], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(25, 117), items: [32, 38, 62, 70], want_response: false }, ItemSet { range: Range(117, 143), items: [131], want_response: false }, ItemSet { range: Range(747, 802), items: [747, 775], want_response: false }, ItemSet { range: Range(802, 827), items: [807, 811, 817], want_response: false }, ItemSet { range: Range(143, 229), items: [143, 221], want_response: true }, ItemSet { range: Range(229, 262), items: [235, 259], want_response: true }, ItemSet { range: Range(262, 285), items: [262], want_response: true }, ItemSet { range: Range(285, 391), items: [292, 336], want_response: true }, ItemSet { range: Range(391, 452), items: [401], want_response: true }, ItemSet { range: Range(551, 626), items: [551, 596], want_response: true }, ItemSet { range: Range(626, 630), items: [626], want_response: true }, ItemSet { range: Range(630, 675), items: [639, 650], want_response: true }, ItemSet { range: Range(675, 747), items: [675], want_response: true }], wants: [496, 507, 827, 853, 877, 891, 904, 911, 933, 951, 964, 973, 977, 981, 994, 25, 55, 117, 134, 757, 761, 802], provide: [(452, true), (525, true), (830, true), (865, true), (903, true), (922, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(143, 229), items: [192, 195, 201], want_response: false }, ItemSet { range: Range(229, 262), items: [229, 259], want_response: false }, ItemSet { range: Range(262, 285), items: [284], want_response: false }, ItemSet { range: Range(285, 391), items: [285, 320, 384, 388], want_response: false }, ItemSet { range: Range(391, 452), items: [391, 407, 408, 411], want_response: false }, ItemSet { range: Range(551, 626), items: [583, 591, 595, 599, 618], want_response: false }, ItemSet { range: Range(626, 630), items: [], want_response: false }, ItemSet { range: Range(630, 675), items: [630, 661], want_response: false }, ItemSet { range: Range(675, 747), items: [720, 728, 740], want_response: false }], wants: [32, 38, 62, 70, 131, 747, 775, 807, 811, 817, 143, 221, 235, 262, 292, 336, 401, 551, 596, 626, 639, 650, 675], provide: [(496, true), (507, true), (827, true), (853, true), (877, true), (891, true), (904, true), (911, true), (933, true), (951, true), (964, true), (973, true), (977, true), (981, true), (994, true), (25, true), (55, true), (117, true), (134, true), (757, true), (761, true), (802, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [192, 195, 201, 229, 284, 285, 320, 384, 388, 391, 407, 408, 411, 583, 591, 595, 599, 618, 630, 661, 720, 728, 740], provide: [(32, true), (38, true), (62, true), (70, true), (131, true), (747, true), (775, true), (807, true), (811, true), (817, true), (143, true), (221, true), (235, true), (262, true), (292, true), (336, true), (401, true), (551, true), (596, true), (626, true), (639, true), (650, true), (675, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(192, true), (195, true), (201, true), (229, true), (284, true), (285, true), (320, true), (384, true), (388, true), (391, true), (407, true), (408, true), (411, true), (583, true), (591, true), (595, true), (599, true), (618, true), (630, true), (661, true), (720, true), (728, true), (740, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {25, 55, 117, 134, 192, 195, 201, 229, 259, 284, 285, 320, 384, 388, 391, 407, 408, 411, 496, 507, 583, 591, 595, 599, 618, 630, 661, 720, 728, 740, 757, 761, 802, 827, 853, 877, 891, 904, 911, 933, 951, 964, 973, 977, 981, 994} + [9, 12, 452, 525, 830, 865, 903, 922, 32, 38, 62, 70, 131, 747, 775, 807, 811, 817, 143, 221, 235, 262, 292, 336, 401, 551, 596, 626, 639, 650, 675] [INFO] [stdout] b all: {9, 12, 32, 38, 62, 70, 131, 143, 221, 235, 259, 262, 292, 336, 401, 452, 525, 551, 596, 626, 639, 650, 675, 747, 775, 807, 811, 817, 830, 865, 903, 922} + [496, 507, 827, 853, 877, 891, 904, 911, 933, 951, 964, 973, 977, 981, 994, 25, 55, 117, 134, 757, 761, 802, 192, 195, 201, 229, 284, 285, 320, 384, 388, 391, 407, 408, 411, 583, 591, 595, 599, 618, 630, 661, 720, 728, 740] [INFO] [stdout] [INFO] [stdout] all vec: [9, 12, 25, 32, 38, 55, 62, 70, 117, 131, 134, 143, 192, 195, 201, 221, 229, 235, 259, 262, 284, 285, 292, 320, 336, 384, 388, 391, 401, 407, 408, 411, 452, 496, 507, 525, 551, 583, 591, 595, 596, 599, 618, 626, 630, 639, 650, 661, 675, 720, 728, 740, 747, 757, 761, 775, 802, 807, 811, 817, 827, 830, 853, 865, 877, 891, 903, 904, 911, 922, 933, 951, 964, 973, 977, 981, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [9, 12, 25, 32, 38, 55, 62, 70, 117, 131, 134, 143, 192, 195, 201, 221, 229, 235, 259, 262, 284, 285, 292, 320, 336, 384, 388, 391, 401, 407, 408, 411, 452, 496, 507, 525, 551, 583, 591, 595, 596, 599, 618, 626, 630, 639, 650, 661, 675, 720, 728, 740, 747, 757, 761, 775, 802, 807, 811, 817, 827, 830, 853, 865, 877, 891, 903, 904, 911, 922, 933, 951, 964, 973, 977, 981, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [9, 12, 25, 32, 38, 55, 62, 70, 117, 131, 134, 143, 192, 195, 201, 221, 229, 235, 259, 262, 284, 285, 292, 320, 336, 384, 388, 391, 401, 407, 408, 411, 452, 496, 507, 525, 551, 583, 591, 595, 596, 599, 618, 626, 630, 639, 650, 661, 675, 720, 728, 740, 747, 757, 761, 775, 802, 807, 811, 817, 827, 830, 853, 865, 877, 891, 903, 904, 911, 922, 933, 951, 964, 973, 977, 981, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 39, 49, 146, 175, 214, 270, 294, 299, 339, 350, 362, 415, 418, 459, 467, 479, 493, 513, 544, 573, 614, 618, 625, 627, 629, 637, 642, 654, 661, 672, 700, 718, 735, 763, 776, 812, 835, 860, 898, 910, 928, 933, 987} [INFO] [stdout] b items: {18, 26, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 166, 167, 170, 180, 181, 193, 218, 220, 227, 231, 249, 270, 275, 278, 286, 290, 297, 299, 311, 312, 316, 321, 322, 323, 343, 344, 399, 406, 417, 426, 431, 439, 467, 485, 503, 521, 523, 543, 579, 584, 591, 608, 614, 619, 625, 626, 654, 662, 670, 678, 680, 687, 688, 689, 721, 734, 746, 792, 804, 806, 810, 816, 827, 831, 835, 867, 895, 905, 913, 921, 926, 927, 954, 963, 967, 973, 983, 992, 996, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 988), fp: EncodedCountingMonoid(44, SumMonoid(24170)) }], item_sets: [ItemSet { range: Range(988, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 503), fp: EncodedCountingMonoid(44, SumMonoid(11088)) }, Fingerprint { range: Range(503, 988), fp: EncodedCountingMonoid(43, SumMonoid(32260)) }], item_sets: [ItemSet { range: Range(988, 38), items: [992, 996, 999, 18, 26], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 339), fp: EncodedCountingMonoid(9, SumMonoid(1524)) }, Fingerprint { range: Range(339, 503), fp: EncodedCountingMonoid(9, SumMonoid(3782)) }, Fingerprint { range: Range(503, 700), fp: EncodedCountingMonoid(13, SumMonoid(8009)) }, Fingerprint { range: Range(700, 988), fp: EncodedCountingMonoid(13, SumMonoid(10855)) }], item_sets: [], wants: [992, 996, 999, 18, 26], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 220), fp: EncodedCountingMonoid(17, SumMonoid(2104)) }, Fingerprint { range: Range(220, 339), fp: EncodedCountingMonoid(17, SumMonoid(4827)) }, Fingerprint { range: Range(339, 426), fp: EncodedCountingMonoid(5, SumMonoid(1909)) }, Fingerprint { range: Range(426, 503), fp: EncodedCountingMonoid(5, SumMonoid(2248)) }, Fingerprint { range: Range(503, 625), fp: EncodedCountingMonoid(10, SumMonoid(5685)) }, Fingerprint { range: Range(625, 700), fp: EncodedCountingMonoid(10, SumMonoid(6659)) }, Fingerprint { range: Range(700, 895), fp: EncodedCountingMonoid(12, SumMonoid(9589)) }, Fingerprint { range: Range(895, 988), fp: EncodedCountingMonoid(11, SumMonoid(10327)) }], item_sets: [], wants: [], provide: [(992, true), (996, true), (999, true), (18, true), (26, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 146), fp: EncodedCountingMonoid(3, SumMonoid(126)) }, Fingerprint { range: Range(146, 220), fp: EncodedCountingMonoid(3, SumMonoid(535)) }, Fingerprint { range: Range(339, 415), fp: EncodedCountingMonoid(3, SumMonoid(1051)) }, Fingerprint { range: Range(503, 614), fp: EncodedCountingMonoid(3, SumMonoid(1630)) }, Fingerprint { range: Range(625, 642), fp: EncodedCountingMonoid(4, SumMonoid(2518)) }, Fingerprint { range: Range(642, 700), fp: EncodedCountingMonoid(4, SumMonoid(2629)) }, Fingerprint { range: Range(700, 776), fp: EncodedCountingMonoid(4, SumMonoid(2916)) }, Fingerprint { range: Range(776, 895), fp: EncodedCountingMonoid(4, SumMonoid(3283)) }, Fingerprint { range: Range(895, 933), fp: EncodedCountingMonoid(3, SumMonoid(2736)) }], item_sets: [ItemSet { range: Range(220, 299), items: [270, 294], want_response: true }, ItemSet { range: Range(299, 339), items: [299], want_response: true }, ItemSet { range: Range(415, 426), items: [415, 418], want_response: true }, ItemSet { range: Range(426, 479), items: [459, 467], want_response: true }, ItemSet { range: Range(479, 503), items: [479, 493], want_response: true }, ItemSet { range: Range(614, 625), items: [614, 618], want_response: true }, ItemSet { range: Range(933, 988), items: [933, 987], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 84), fp: EncodedCountingMonoid(5, SumMonoid(319)) }, Fingerprint { range: Range(84, 146), fp: EncodedCountingMonoid(5, SumMonoid(510)) }, Fingerprint { range: Range(146, 181), fp: EncodedCountingMonoid(4, SumMonoid(683)) }, Fingerprint { range: Range(181, 220), fp: EncodedCountingMonoid(3, SumMonoid(592)) }, Fingerprint { range: Range(503, 579), fp: EncodedCountingMonoid(4, SumMonoid(2090)) }, Fingerprint { range: Range(579, 614), fp: EncodedCountingMonoid(4, SumMonoid(2362)) }, Fingerprint { range: Range(642, 680), fp: EncodedCountingMonoid(4, SumMonoid(2664)) }, Fingerprint { range: Range(680, 700), fp: EncodedCountingMonoid(4, SumMonoid(2744)) }, Fingerprint { range: Range(776, 827), fp: EncodedCountingMonoid(5, SumMonoid(4028)) }, Fingerprint { range: Range(827, 895), fp: EncodedCountingMonoid(4, SumMonoid(3360)) }, Fingerprint { range: Range(895, 921), fp: EncodedCountingMonoid(3, SumMonoid(2713)) }, Fingerprint { range: Range(921, 933), fp: EncodedCountingMonoid(3, SumMonoid(2774)) }], item_sets: [ItemSet { range: Range(220, 299), items: [220, 227, 231, 249, 270, 275, 278, 286, 290, 297], want_response: false }, ItemSet { range: Range(299, 339), items: [299, 311, 312, 316, 321, 322, 323], want_response: false }, ItemSet { range: Range(415, 426), items: [417], want_response: false }, ItemSet { range: Range(426, 479), items: [426, 431, 439, 467], want_response: false }, ItemSet { range: Range(479, 503), items: [485], want_response: false }, ItemSet { range: Range(614, 625), items: [614, 619], want_response: false }, ItemSet { range: Range(933, 988), items: [954, 963, 967, 973, 983], want_response: false }, ItemSet { range: Range(339, 399), items: [343, 344], want_response: true }, ItemSet { range: Range(399, 415), items: [399, 406], want_response: true }, ItemSet { range: Range(625, 642), items: [625, 626], want_response: true }, ItemSet { range: Range(700, 746), items: [721, 734], want_response: true }, ItemSet { range: Range(746, 776), items: [746], want_response: true }], wants: [294, 415, 418, 459, 479, 493, 618, 933, 987], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(339, 399), items: [339, 350, 362], want_response: false }, ItemSet { range: Range(399, 415), items: [], want_response: false }, ItemSet { range: Range(625, 642), items: [625, 627, 629, 637], want_response: false }, ItemSet { range: Range(700, 746), items: [700, 718, 735], want_response: false }, ItemSet { range: Range(746, 776), items: [763], want_response: false }, ItemSet { range: Range(38, 49), items: [38, 39], want_response: true }, ItemSet { range: Range(49, 84), items: [49], want_response: true }, ItemSet { range: Range(84, 146), items: [], want_response: true }, ItemSet { range: Range(146, 181), items: [146, 175], want_response: true }, ItemSet { range: Range(181, 220), items: [214], want_response: true }, ItemSet { range: Range(503, 573), items: [513, 544], want_response: true }, ItemSet { range: Range(573, 579), items: [573], want_response: true }, ItemSet { range: Range(579, 614), items: [], want_response: true }, ItemSet { range: Range(642, 661), items: [642, 654], want_response: true }, ItemSet { range: Range(661, 680), items: [661, 672], want_response: true }, ItemSet { range: Range(680, 700), items: [], want_response: true }, ItemSet { range: Range(776, 827), items: [776, 812], want_response: true }, ItemSet { range: Range(827, 895), items: [835, 860], want_response: true }, ItemSet { range: Range(895, 921), items: [898, 910], want_response: true }, ItemSet { range: Range(921, 933), items: [928], want_response: true }], wants: [220, 227, 231, 249, 275, 278, 286, 290, 297, 311, 312, 316, 321, 322, 323, 417, 426, 431, 439, 485, 619, 954, 963, 967, 973, 983, 343, 344, 399, 406, 626, 721, 734, 746], provide: [(294, true), (415, true), (418, true), (459, true), (479, true), (493, true), (618, true), (933, true), (987, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 49), items: [], want_response: false }, ItemSet { range: Range(49, 84), items: [52, 60, 62, 69, 76], want_response: false }, ItemSet { range: Range(84, 146), items: [84, 90, 94, 99, 143], want_response: false }, ItemSet { range: Range(146, 181), items: [166, 167, 170, 180], want_response: false }, ItemSet { range: Range(181, 220), items: [181, 193, 218], want_response: false }, ItemSet { range: Range(503, 573), items: [503, 521, 523, 543], want_response: false }, ItemSet { range: Range(573, 579), items: [], want_response: false }, ItemSet { range: Range(579, 614), items: [579, 584, 591, 608], want_response: false }, ItemSet { range: Range(642, 661), items: [654], want_response: false }, ItemSet { range: Range(661, 680), items: [662, 670, 678], want_response: false }, ItemSet { range: Range(680, 700), items: [680, 687, 688, 689], want_response: false }, ItemSet { range: Range(776, 827), items: [792, 804, 806, 810, 816], want_response: false }, ItemSet { range: Range(827, 895), items: [827, 831, 835, 867], want_response: false }, ItemSet { range: Range(895, 921), items: [895, 905, 913], want_response: false }, ItemSet { range: Range(921, 933), items: [921, 926, 927], want_response: false }], wants: [339, 350, 362, 627, 629, 637, 700, 718, 735, 763, 38, 39, 49, 146, 175, 214, 513, 544, 573, 642, 661, 672, 776, 812, 860, 898, 910, 928], provide: [(220, true), (227, true), (231, true), (249, true), (275, true), (278, true), (286, true), (290, true), (297, true), (311, true), (312, true), (316, true), (321, true), (322, true), (323, true), (417, true), (426, true), (431, true), (439, true), (485, true), (619, true), (954, true), (963, true), (967, true), (973, true), (983, true), (343, true), (344, true), (399, true), (406, true), (626, true), (721, true), (734, true), (746, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 166, 167, 170, 180, 181, 193, 218, 503, 521, 523, 543, 579, 584, 591, 608, 662, 670, 678, 680, 687, 688, 689, 792, 804, 806, 810, 816, 827, 831, 867, 895, 905, 913, 921, 926, 927], provide: [(339, true), (350, true), (362, true), (627, true), (629, true), (637, true), (700, true), (718, true), (735, true), (763, true), (38, true), (39, true), (49, true), (146, true), (175, true), (214, true), (513, true), (544, true), (573, true), (642, true), (661, true), (672, true), (776, true), (812, true), (860, true), (898, true), (910, true), (928, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(52, true), (60, true), (62, true), (69, true), (76, true), (84, true), (90, true), (94, true), (99, true), (143, true), (166, true), (167, true), (170, true), (180, true), (181, true), (193, true), (218, true), (503, true), (521, true), (523, true), (543, true), (579, true), (584, true), (591, true), (608, true), (662, true), (670, true), (678, true), (680, true), (687, true), (688, true), (689, true), (792, true), (804, true), (806, true), (810, true), (816, true), (827, true), (831, true), (867, true), (895, true), (905, true), (913, true), (921, true), (926, true), (927, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 39, 49, 146, 175, 214, 270, 294, 299, 339, 350, 362, 415, 418, 459, 467, 479, 493, 513, 544, 573, 614, 618, 625, 627, 629, 637, 642, 654, 661, 672, 700, 718, 735, 763, 776, 812, 835, 860, 898, 910, 928, 933, 987} + [992, 996, 999, 18, 26, 220, 227, 231, 249, 275, 278, 286, 290, 297, 311, 312, 316, 321, 322, 323, 417, 426, 431, 439, 485, 619, 954, 963, 967, 973, 983, 343, 344, 399, 406, 626, 721, 734, 746, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 166, 167, 170, 180, 181, 193, 218, 503, 521, 523, 543, 579, 584, 591, 608, 662, 670, 678, 680, 687, 688, 689, 792, 804, 806, 810, 816, 827, 831, 867, 895, 905, 913, 921, 926, 927] [INFO] [stdout] b all: {18, 26, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 166, 167, 170, 180, 181, 193, 218, 220, 227, 231, 249, 270, 275, 278, 286, 290, 297, 299, 311, 312, 316, 321, 322, 323, 343, 344, 399, 406, 417, 426, 431, 439, 467, 485, 503, 521, 523, 543, 579, 584, 591, 608, 614, 619, 625, 626, 654, 662, 670, 678, 680, 687, 688, 689, 721, 734, 746, 792, 804, 806, 810, 816, 827, 831, 835, 867, 895, 905, 913, 921, 926, 927, 954, 963, 967, 973, 983, 992, 996, 999} + [294, 415, 418, 459, 479, 493, 618, 933, 987, 339, 350, 362, 627, 629, 637, 700, 718, 735, 763, 38, 39, 49, 146, 175, 214, 513, 544, 573, 642, 661, 672, 776, 812, 860, 898, 910, 928] [INFO] [stdout] [INFO] [stdout] all vec: [18, 26, 38, 39, 49, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 146, 166, 167, 170, 175, 180, 181, 193, 214, 218, 220, 227, 231, 249, 270, 275, 278, 286, 290, 294, 297, 299, 311, 312, 316, 321, 322, 323, 339, 343, 344, 350, 362, 399, 406, 415, 417, 418, 426, 431, 439, 459, 467, 479, 485, 493, 503, 513, 521, 523, 543, 544, 573, 579, 584, 591, 608, 614, 618, 619, 625, 626, 627, 629, 637, 642, 654, 661, 662, 670, 672, 678, 680, 687, 688, 689, 700, 718, 721, 734, 735, 746, 763, 776, 792, 804, 806, 810, 812, 816, 827, 831, 835, 860, 867, 895, 898, 905, 910, 913, 921, 926, 927, 928, 933, 954, 963, 967, 973, 983, 987, 992, 996, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [18, 26, 38, 39, 49, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 146, 166, 167, 170, 175, 180, 181, 193, 214, 218, 220, 227, 231, 249, 270, 275, 278, 286, 290, 294, 297, 299, 311, 312, 316, 321, 322, 323, 339, 343, 344, 350, 362, 399, 406, 415, 417, 418, 426, 431, 439, 459, 467, 479, 485, 493, 503, 513, 521, 523, 543, 544, 573, 579, 584, 591, 608, 614, 618, 619, 625, 626, 627, 629, 637, 642, 654, 661, 662, 670, 672, 678, 680, 687, 688, 689, 700, 718, 721, 734, 735, 746, 763, 776, 792, 804, 806, 810, 812, 816, 827, 831, 835, 860, 867, 895, 898, 905, 910, 913, 921, 926, 927, 928, 933, 954, 963, 967, 973, 983, 987, 992, 996, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [18, 26, 38, 39, 49, 52, 60, 62, 69, 76, 84, 90, 94, 99, 143, 146, 166, 167, 170, 175, 180, 181, 193, 214, 218, 220, 227, 231, 249, 270, 275, 278, 286, 290, 294, 297, 299, 311, 312, 316, 321, 322, 323, 339, 343, 344, 350, 362, 399, 406, 415, 417, 418, 426, 431, 439, 459, 467, 479, 485, 493, 503, 513, 521, 523, 543, 544, 573, 579, 584, 591, 608, 614, 618, 619, 625, 626, 627, 629, 637, 642, 654, 661, 662, 670, 672, 678, 680, 687, 688, 689, 700, 718, 721, 734, 735, 746, 763, 776, 792, 804, 806, 810, 812, 816, 827, 831, 835, 860, 867, 895, 898, 905, 910, 913, 921, 926, 927, 928, 933, 954, 963, 967, 973, 983, 987, 992, 996, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {2, 12, 20, 23, 26, 32, 40, 85, 108, 121, 127, 128, 129, 130, 142, 144, 145, 176, 189, 191, 247, 255, 315, 328, 333, 340, 342, 355, 358, 364, 401, 416, 429, 433, 437, 452, 469, 482, 486, 506, 513, 520, 530, 543, 551, 553, 562, 593, 611, 626, 649, 655, 664, 670, 698, 708, 714, 742, 769, 793, 803, 805, 807, 819, 829, 837, 884, 917, 918, 922, 965, 973, 992} [INFO] [stdout] b items: {21, 22, 47, 49, 64, 94, 109, 112, 123, 124, 131, 149, 156, 161, 179, 186, 187, 205, 219, 223, 231, 233, 259, 260, 261, 264, 271, 275, 277, 331, 336, 371, 376, 380, 388, 399, 400, 405, 409, 410, 411, 415, 417, 424, 433, 446, 452, 459, 492, 504, 518, 559, 581, 585, 591, 638, 674, 692, 693, 698, 704, 719, 721, 724, 726, 736, 743, 790, 815, 841, 842, 858, 864, 877, 878, 888, 901, 907, 934, 940, 947, 967, 968, 969, 970, 980, 996} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 993), fp: EncodedCountingMonoid(73, SumMonoid(33853)) }], item_sets: [ItemSet { range: Range(993, 2), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 424), fp: EncodedCountingMonoid(43, SumMonoid(10340)) }, Fingerprint { range: Range(424, 993), fp: EncodedCountingMonoid(43, SumMonoid(31648)) }], item_sets: [ItemSet { range: Range(993, 2), items: [996], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 145), fp: EncodedCountingMonoid(16, SumMonoid(1269)) }, Fingerprint { range: Range(145, 424), fp: EncodedCountingMonoid(16, SumMonoid(4755)) }, Fingerprint { range: Range(424, 670), fp: EncodedCountingMonoid(21, SumMonoid(11264)) }, Fingerprint { range: Range(670, 993), fp: EncodedCountingMonoid(20, SumMonoid(16565)) }], item_sets: [], wants: [996], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(2, 109), fp: EncodedCountingMonoid(6, SumMonoid(297)) }, Fingerprint { range: Range(109, 145), fp: EncodedCountingMonoid(5, SumMonoid(599)) }, Fingerprint { range: Range(145, 275), fp: EncodedCountingMonoid(16, SumMonoid(3444)) }, Fingerprint { range: Range(275, 424), fp: EncodedCountingMonoid(16, SumMonoid(6000)) }, Fingerprint { range: Range(424, 518), fp: EncodedCountingMonoid(7, SumMonoid(3210)) }, Fingerprint { range: Range(518, 670), fp: EncodedCountingMonoid(6, SumMonoid(3472)) }, Fingerprint { range: Range(670, 858), fp: EncodedCountingMonoid(15, SumMonoid(11118)) }, Fingerprint { range: Range(858, 993), fp: EncodedCountingMonoid(15, SumMonoid(13848)) }], item_sets: [], wants: [], provide: [(996, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(2, 32), fp: EncodedCountingMonoid(5, SumMonoid(83)) }, Fingerprint { range: Range(32, 109), fp: EncodedCountingMonoid(4, SumMonoid(265)) }, Fingerprint { range: Range(109, 130), fp: EncodedCountingMonoid(4, SumMonoid(505)) }, Fingerprint { range: Range(130, 145), fp: EncodedCountingMonoid(3, SumMonoid(416)) }, Fingerprint { range: Range(145, 191), fp: EncodedCountingMonoid(3, SumMonoid(510)) }, Fingerprint { range: Range(191, 275), fp: EncodedCountingMonoid(3, SumMonoid(693)) }, Fingerprint { range: Range(275, 355), fp: EncodedCountingMonoid(5, SumMonoid(1658)) }, Fingerprint { range: Range(355, 424), fp: EncodedCountingMonoid(5, SumMonoid(1894)) }, Fingerprint { range: Range(424, 482), fp: EncodedCountingMonoid(5, SumMonoid(2220)) }, Fingerprint { range: Range(482, 518), fp: EncodedCountingMonoid(4, SumMonoid(1987)) }, Fingerprint { range: Range(518, 593), fp: EncodedCountingMonoid(6, SumMonoid(3259)) }, Fingerprint { range: Range(593, 670), fp: EncodedCountingMonoid(6, SumMonoid(3798)) }, Fingerprint { range: Range(670, 803), fp: EncodedCountingMonoid(7, SumMonoid(5094)) }, Fingerprint { range: Range(803, 858), fp: EncodedCountingMonoid(6, SumMonoid(4900)) }, Fingerprint { range: Range(858, 965), fp: EncodedCountingMonoid(4, SumMonoid(3641)) }, Fingerprint { range: Range(965, 993), fp: EncodedCountingMonoid(3, SumMonoid(2930)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(145, 179), fp: EncodedCountingMonoid(3, SumMonoid(466)) }, Fingerprint { range: Range(179, 191), fp: EncodedCountingMonoid(3, SumMonoid(552)) }, Fingerprint { range: Range(191, 259), fp: EncodedCountingMonoid(5, SumMonoid(1111)) }, Fingerprint { range: Range(259, 275), fp: EncodedCountingMonoid(5, SumMonoid(1315)) }, Fingerprint { range: Range(355, 405), fp: EncodedCountingMonoid(6, SumMonoid(2314)) }, Fingerprint { range: Range(405, 424), fp: EncodedCountingMonoid(6, SumMonoid(2467)) }, Fingerprint { range: Range(424, 452), fp: EncodedCountingMonoid(3, SumMonoid(1303)) }, Fingerprint { range: Range(518, 585), fp: EncodedCountingMonoid(3, SumMonoid(1658)) }, Fingerprint { range: Range(670, 721), fp: EncodedCountingMonoid(6, SumMonoid(4180)) }, Fingerprint { range: Range(721, 803), fp: EncodedCountingMonoid(6, SumMonoid(4440)) }, Fingerprint { range: Range(858, 901), fp: EncodedCountingMonoid(5, SumMonoid(4365)) }, Fingerprint { range: Range(901, 965), fp: EncodedCountingMonoid(5, SumMonoid(4629)) }, Fingerprint { range: Range(965, 970), fp: EncodedCountingMonoid(3, SumMonoid(2904)) }], item_sets: [ItemSet { range: Range(2, 32), items: [21, 22], want_response: true }, ItemSet { range: Range(32, 64), items: [47, 49], want_response: true }, ItemSet { range: Range(64, 109), items: [64, 94], want_response: true }, ItemSet { range: Range(109, 123), items: [109, 112], want_response: true }, ItemSet { range: Range(123, 130), items: [123, 124], want_response: true }, ItemSet { range: Range(130, 145), items: [131], want_response: true }, ItemSet { range: Range(275, 331), items: [275, 277], want_response: true }, ItemSet { range: Range(331, 355), items: [331, 336], want_response: true }, ItemSet { range: Range(452, 482), items: [452, 459], want_response: true }, ItemSet { range: Range(482, 518), items: [492, 504], want_response: true }, ItemSet { range: Range(585, 593), items: [585, 591], want_response: true }, ItemSet { range: Range(593, 670), items: [638], want_response: true }, ItemSet { range: Range(803, 842), items: [815, 841], want_response: true }, ItemSet { range: Range(842, 858), items: [842], want_response: true }, ItemSet { range: Range(970, 993), items: [970, 980], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(518, 551), fp: EncodedCountingMonoid(3, SumMonoid(1593)) }, Fingerprint { range: Range(551, 585), fp: EncodedCountingMonoid(3, SumMonoid(1666)) }], item_sets: [ItemSet { range: Range(2, 32), items: [2, 12, 20, 23, 26], want_response: false }, ItemSet { range: Range(32, 64), items: [32, 40], want_response: false }, ItemSet { range: Range(64, 109), items: [85, 108], want_response: false }, ItemSet { range: Range(109, 123), items: [121], want_response: false }, ItemSet { range: Range(123, 130), items: [127, 128, 129], want_response: false }, ItemSet { range: Range(130, 145), items: [130, 142, 144], want_response: false }, ItemSet { range: Range(275, 331), items: [315, 328], want_response: false }, ItemSet { range: Range(331, 355), items: [333, 340, 342], want_response: false }, ItemSet { range: Range(452, 482), items: [452, 469], want_response: false }, ItemSet { range: Range(482, 518), items: [482, 486, 506, 513], want_response: false }, ItemSet { range: Range(585, 593), items: [], want_response: false }, ItemSet { range: Range(593, 670), items: [593, 611, 626, 649, 655, 664], want_response: false }, ItemSet { range: Range(803, 842), items: [803, 805, 807, 819, 829, 837], want_response: false }, ItemSet { range: Range(842, 858), items: [], want_response: false }, ItemSet { range: Range(970, 993), items: [973, 992], want_response: false }, ItemSet { range: Range(145, 179), items: [145, 176], want_response: true }, ItemSet { range: Range(179, 191), items: [189], want_response: true }, ItemSet { range: Range(191, 255), items: [191, 247], want_response: true }, ItemSet { range: Range(255, 259), items: [255], want_response: true }, ItemSet { range: Range(259, 275), items: [], want_response: true }, ItemSet { range: Range(355, 364), items: [355, 358], want_response: true }, ItemSet { range: Range(364, 405), items: [364, 401], want_response: true }, ItemSet { range: Range(405, 424), items: [416], want_response: true }, ItemSet { range: Range(424, 437), items: [429, 433], want_response: true }, ItemSet { range: Range(437, 452), items: [437], want_response: true }, ItemSet { range: Range(670, 708), items: [670, 698], want_response: true }, ItemSet { range: Range(708, 721), items: [708, 714], want_response: true }, ItemSet { range: Range(721, 793), items: [742, 769], want_response: true }, ItemSet { range: Range(793, 803), items: [793], want_response: true }, ItemSet { range: Range(858, 901), items: [884], want_response: true }, ItemSet { range: Range(901, 922), items: [917, 918], want_response: true }, ItemSet { range: Range(922, 965), items: [922], want_response: true }, ItemSet { range: Range(965, 970), items: [965], want_response: true }], wants: [21, 22, 47, 49, 64, 94, 109, 112, 123, 124, 131, 275, 277, 331, 336, 459, 492, 504, 585, 591, 638, 815, 841, 842, 970, 980], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(145, 179), items: [149, 156, 161], want_response: false }, ItemSet { range: Range(179, 191), items: [179, 186, 187], want_response: false }, ItemSet { range: Range(191, 255), items: [205, 219, 223, 231, 233], want_response: false }, ItemSet { range: Range(255, 259), items: [], want_response: false }, ItemSet { range: Range(259, 275), items: [259, 260, 261, 264, 271], want_response: false }, ItemSet { range: Range(355, 364), items: [], want_response: false }, ItemSet { range: Range(364, 405), items: [371, 376, 380, 388, 399, 400], want_response: false }, ItemSet { range: Range(405, 424), items: [405, 409, 410, 411, 415, 417], want_response: false }, ItemSet { range: Range(424, 437), items: [424, 433], want_response: false }, ItemSet { range: Range(437, 452), items: [446], want_response: false }, ItemSet { range: Range(670, 708), items: [674, 692, 693, 698, 704], want_response: false }, ItemSet { range: Range(708, 721), items: [719], want_response: false }, ItemSet { range: Range(721, 793), items: [721, 724, 726, 736, 743, 790], want_response: false }, ItemSet { range: Range(793, 803), items: [], want_response: false }, ItemSet { range: Range(858, 901), items: [858, 864, 877, 878, 888], want_response: false }, ItemSet { range: Range(901, 922), items: [901, 907], want_response: false }, ItemSet { range: Range(922, 965), items: [934, 940, 947], want_response: false }, ItemSet { range: Range(965, 970), items: [967, 968, 969], want_response: false }, ItemSet { range: Range(518, 551), items: [518], want_response: true }, ItemSet { range: Range(551, 585), items: [559, 581], want_response: true }], wants: [2, 12, 20, 23, 26, 32, 40, 85, 108, 121, 127, 128, 129, 130, 142, 144, 315, 328, 333, 340, 342, 469, 482, 486, 506, 513, 593, 611, 626, 649, 655, 664, 803, 805, 807, 819, 829, 837, 973, 992, 145, 176, 189, 191, 247, 255, 355, 358, 364, 401, 416, 429, 437, 670, 708, 714, 742, 769, 793, 884, 917, 918, 922, 965], provide: [(21, true), (22, true), (47, true), (49, true), (64, true), (94, true), (109, true), (112, true), (123, true), (124, true), (131, true), (275, true), (277, true), (331, true), (336, true), (459, true), (492, true), (504, true), (585, true), (591, true), (638, true), (815, true), (841, true), (842, true), (970, true), (980, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(518, 551), items: [520, 530, 543], want_response: false }, ItemSet { range: Range(551, 585), items: [551, 553, 562], want_response: false }], wants: [149, 156, 161, 179, 186, 187, 205, 219, 223, 231, 233, 259, 260, 261, 264, 271, 371, 376, 380, 388, 399, 400, 405, 409, 410, 411, 415, 417, 424, 446, 674, 692, 693, 704, 719, 721, 724, 726, 736, 743, 790, 858, 864, 877, 878, 888, 901, 907, 934, 940, 947, 967, 968, 969, 518, 559, 581], provide: [(2, true), (12, true), (20, true), (23, true), (26, true), (32, true), (40, true), (85, true), (108, true), (121, true), (127, true), (128, true), (129, true), (130, true), (142, true), (144, true), (315, true), (328, true), (333, true), (340, true), (342, true), (469, true), (482, true), (486, true), (506, true), (513, true), (593, true), (611, true), (626, true), (649, true), (655, true), (664, true), (803, true), (805, true), (807, true), (819, true), (829, true), (837, true), (973, true), (992, true), (145, true), (176, true), (189, true), (191, true), (247, true), (255, true), (355, true), (358, true), (364, true), (401, true), (416, true), (429, true), (437, true), (670, true), (708, true), (714, true), (742, true), (769, true), (793, true), (884, true), (917, true), (918, true), (922, true), (965, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [520, 530, 543, 551, 553, 562], provide: [(149, true), (156, true), (161, true), (179, true), (186, true), (187, true), (205, true), (219, true), (223, true), (231, true), (233, true), (259, true), (260, true), (261, true), (264, true), (271, true), (371, true), (376, true), (380, true), (388, true), (399, true), (400, true), (405, true), (409, true), (410, true), (411, true), (415, true), (417, true), (424, true), (446, true), (674, true), (692, true), (693, true), (704, true), (719, true), (721, true), (724, true), (726, true), (736, true), (743, true), (790, true), (858, true), (864, true), (877, true), (878, true), (888, true), (901, true), (907, true), (934, true), (940, true), (947, true), (967, true), (968, true), (969, true), (518, true), (559, true), (581, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(520, true), (530, true), (543, true), (551, true), (553, true), (562, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {2, 12, 20, 23, 26, 32, 40, 85, 108, 121, 127, 128, 129, 130, 142, 144, 145, 176, 189, 191, 247, 255, 315, 328, 333, 340, 342, 355, 358, 364, 401, 416, 429, 433, 437, 452, 469, 482, 486, 506, 513, 520, 530, 543, 551, 553, 562, 593, 611, 626, 649, 655, 664, 670, 698, 708, 714, 742, 769, 793, 803, 805, 807, 819, 829, 837, 884, 917, 918, 922, 965, 973, 992} + [996, 21, 22, 47, 49, 64, 94, 109, 112, 123, 124, 131, 275, 277, 331, 336, 459, 492, 504, 585, 591, 638, 815, 841, 842, 970, 980, 149, 156, 161, 179, 186, 187, 205, 219, 223, 231, 233, 259, 260, 261, 264, 271, 371, 376, 380, 388, 399, 400, 405, 409, 410, 411, 415, 417, 424, 446, 674, 692, 693, 704, 719, 721, 724, 726, 736, 743, 790, 858, 864, 877, 878, 888, 901, 907, 934, 940, 947, 967, 968, 969, 518, 559, 581] [INFO] [stdout] b all: {21, 22, 47, 49, 64, 94, 109, 112, 123, 124, 131, 149, 156, 161, 179, 186, 187, 205, 219, 223, 231, 233, 259, 260, 261, 264, 271, 275, 277, 331, 336, 371, 376, 380, 388, 399, 400, 405, 409, 410, 411, 415, 417, 424, 433, 446, 452, 459, 492, 504, 518, 559, 581, 585, 591, 638, 674, 692, 693, 698, 704, 719, 721, 724, 726, 736, 743, 790, 815, 841, 842, 858, 864, 877, 878, 888, 901, 907, 934, 940, 947, 967, 968, 969, 970, 980, 996} + [2, 12, 20, 23, 26, 32, 40, 85, 108, 121, 127, 128, 129, 130, 142, 144, 315, 328, 333, 340, 342, 469, 482, 486, 506, 513, 593, 611, 626, 649, 655, 664, 803, 805, 807, 819, 829, 837, 973, 992, 145, 176, 189, 191, 247, 255, 355, 358, 364, 401, 416, 429, 437, 670, 708, 714, 742, 769, 793, 884, 917, 918, 922, 965, 520, 530, 543, 551, 553, 562] [INFO] [stdout] [INFO] [stdout] all vec: [2, 12, 20, 21, 22, 23, 26, 32, 40, 47, 49, 64, 85, 94, 108, 109, 112, 121, 123, 124, 127, 128, 129, 130, 131, 142, 144, 145, 149, 156, 161, 176, 179, 186, 187, 189, 191, 205, 219, 223, 231, 233, 247, 255, 259, 260, 261, 264, 271, 275, 277, 315, 328, 331, 333, 336, 340, 342, 355, 358, 364, 371, 376, 380, 388, 399, 400, 401, 405, 409, 410, 411, 415, 416, 417, 424, 429, 433, 437, 446, 452, 459, 469, 482, 486, 492, 504, 506, 513, 518, 520, 530, 543, 551, 553, 559, 562, 581, 585, 591, 593, 611, 626, 638, 649, 655, 664, 670, 674, 692, 693, 698, 704, 708, 714, 719, 721, 724, 726, 736, 742, 743, 769, 790, 793, 803, 805, 807, 815, 819, 829, 837, 841, 842, 858, 864, 877, 878, 884, 888, 901, 907, 917, 918, 922, 934, 940, 947, 965, 967, 968, 969, 970, 973, 980, 992, 996] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 12, 20, 21, 22, 23, 26, 32, 40, 47, 49, 64, 85, 94, 108, 109, 112, 121, 123, 124, 127, 128, 129, 130, 131, 142, 144, 145, 149, 156, 161, 176, 179, 186, 187, 189, 191, 205, 219, 223, 231, 233, 247, 255, 259, 260, 261, 264, 271, 275, 277, 315, 328, 331, 333, 336, 340, 342, 355, 358, 364, 371, 376, 380, 388, 399, 400, 401, 405, 409, 410, 411, 415, 416, 417, 424, 429, 433, 437, 446, 452, 459, 469, 482, 486, 492, 504, 506, 513, 518, 520, 530, 543, 551, 553, 559, 562, 581, 585, 591, 593, 611, 626, 638, 649, 655, 664, 670, 674, 692, 693, 698, 704, 708, 714, 719, 721, 724, 726, 736, 742, 743, 769, 790, 793, 803, 805, 807, 815, 819, 829, 837, 841, 842, 858, 864, 877, 878, 884, 888, 901, 907, 917, 918, 922, 934, 940, 947, 965, 967, 968, 969, 970, 973, 980, 992, 996], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 12, 20, 21, 22, 23, 26, 32, 40, 47, 49, 64, 85, 94, 108, 109, 112, 121, 123, 124, 127, 128, 129, 130, 131, 142, 144, 145, 149, 156, 161, 176, 179, 186, 187, 189, 191, 205, 219, 223, 231, 233, 247, 255, 259, 260, 261, 264, 271, 275, 277, 315, 328, 331, 333, 336, 340, 342, 355, 358, 364, 371, 376, 380, 388, 399, 400, 401, 405, 409, 410, 411, 415, 416, 417, 424, 429, 433, 437, 446, 452, 459, 469, 482, 486, 492, 504, 506, 513, 518, 520, 530, 543, 551, 553, 559, 562, 581, 585, 591, 593, 611, 626, 638, 649, 655, 664, 670, 674, 692, 693, 698, 704, 708, 714, 719, 721, 724, 726, 736, 742, 743, 769, 790, 793, 803, 805, 807, 815, 819, 829, 837, 841, 842, 858, 864, 877, 878, 884, 888, 901, 907, 917, 918, 922, 934, 940, 947, 965, 967, 968, 969, 970, 973, 980, 992, 996], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {4, 19, 57, 69, 74, 76, 77, 96, 161, 173, 180, 214, 216, 253, 304, 369, 396, 437, 458, 471, 556, 585, 591, 595, 620, 640, 655, 672, 681, 690, 710, 714, 793, 843, 848, 873, 876, 879, 899, 902, 911, 914, 932, 974, 989} [INFO] [stdout] b items: {16, 20, 32, 33, 35, 36, 56, 69, 73, 80, 86, 118, 130, 158, 167, 179, 196, 201, 205, 250, 251, 274, 303, 319, 340, 345, 346, 347, 350, 354, 355, 363, 366, 373, 380, 400, 418, 425, 428, 435, 450, 458, 469, 477, 502, 504, 533, 546, 547, 553, 563, 565, 581, 599, 613, 614, 621, 622, 635, 649, 657, 666, 671, 688, 707, 719, 725, 726, 728, 744, 775, 789, 794, 816, 827, 875, 887, 891, 894, 917, 918, 927, 933, 940, 941, 952, 957, 977, 978} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 990), fp: EncodedCountingMonoid(45, SumMonoid(23446)) }], item_sets: [ItemSet { range: Range(990, 4), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 504), fp: EncodedCountingMonoid(45, SumMonoid(11668)) }, Fingerprint { range: Range(504, 990), fp: EncodedCountingMonoid(44, SumMonoid(32764)) }], item_sets: [ItemSet { range: Range(990, 4), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(4, 180), fp: EncodedCountingMonoid(10, SumMonoid(806)) }, Fingerprint { range: Range(180, 504), fp: EncodedCountingMonoid(10, SumMonoid(3298)) }, Fingerprint { range: Range(504, 843), fp: EncodedCountingMonoid(13, SumMonoid(8502)) }, Fingerprint { range: Range(843, 990), fp: EncodedCountingMonoid(12, SumMonoid(10840)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(4, 73), fp: EncodedCountingMonoid(8, SumMonoid(297)) }, Fingerprint { range: Range(73, 180), fp: EncodedCountingMonoid(8, SumMonoid(991)) }, Fingerprint { range: Range(180, 363), fp: EncodedCountingMonoid(15, SumMonoid(4436)) }, Fingerprint { range: Range(363, 504), fp: EncodedCountingMonoid(14, SumMonoid(5944)) }, Fingerprint { range: Range(504, 657), fp: EncodedCountingMonoid(15, SumMonoid(8745)) }, Fingerprint { range: Range(657, 843), fp: EncodedCountingMonoid(15, SumMonoid(11032)) }, Fingerprint { range: Range(843, 933), fp: EncodedCountingMonoid(7, SumMonoid(6309)) }, Fingerprint { range: Range(933, 990), fp: EncodedCountingMonoid(7, SumMonoid(6678)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(73, 96), fp: EncodedCountingMonoid(3, SumMonoid(227)) }, Fingerprint { range: Range(96, 180), fp: EncodedCountingMonoid(3, SumMonoid(430)) }, Fingerprint { range: Range(180, 253), fp: EncodedCountingMonoid(3, SumMonoid(610)) }, Fingerprint { range: Range(363, 458), fp: EncodedCountingMonoid(3, SumMonoid(1202)) }, Fingerprint { range: Range(504, 620), fp: EncodedCountingMonoid(4, SumMonoid(2327)) }, Fingerprint { range: Range(620, 657), fp: EncodedCountingMonoid(3, SumMonoid(1915)) }, Fingerprint { range: Range(657, 710), fp: EncodedCountingMonoid(3, SumMonoid(2043)) }, Fingerprint { range: Range(710, 843), fp: EncodedCountingMonoid(3, SumMonoid(2217)) }, Fingerprint { range: Range(843, 899), fp: EncodedCountingMonoid(5, SumMonoid(4319)) }, Fingerprint { range: Range(899, 933), fp: EncodedCountingMonoid(5, SumMonoid(4558)) }], item_sets: [ItemSet { range: Range(4, 57), items: [4, 19], want_response: true }, ItemSet { range: Range(57, 73), items: [57, 69], want_response: true }, ItemSet { range: Range(253, 363), items: [253, 304], want_response: true }, ItemSet { range: Range(458, 504), items: [458, 471], want_response: true }, ItemSet { range: Range(933, 990), items: [974, 989], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(96, 167), fp: EncodedCountingMonoid(3, SumMonoid(406)) }, Fingerprint { range: Range(180, 250), fp: EncodedCountingMonoid(3, SumMonoid(602)) }, Fingerprint { range: Range(363, 418), fp: EncodedCountingMonoid(5, SumMonoid(1882)) }, Fingerprint { range: Range(418, 458), fp: EncodedCountingMonoid(5, SumMonoid(2156)) }, Fingerprint { range: Range(504, 565), fp: EncodedCountingMonoid(6, SumMonoid(3246)) }, Fingerprint { range: Range(565, 620), fp: EncodedCountingMonoid(5, SumMonoid(2972)) }, Fingerprint { range: Range(657, 688), fp: EncodedCountingMonoid(3, SumMonoid(1994)) }, Fingerprint { range: Range(710, 775), fp: EncodedCountingMonoid(5, SumMonoid(3642)) }, Fingerprint { range: Range(775, 843), fp: EncodedCountingMonoid(5, SumMonoid(4001)) }], item_sets: [ItemSet { range: Range(4, 57), items: [16, 20, 32, 33, 35, 36, 56], want_response: false }, ItemSet { range: Range(57, 73), items: [69], want_response: false }, ItemSet { range: Range(253, 363), items: [274, 303, 319, 340, 345, 346, 347, 350, 354, 355], want_response: false }, ItemSet { range: Range(458, 504), items: [458, 469, 477, 502], want_response: false }, ItemSet { range: Range(933, 990), items: [933, 940, 941, 952, 957, 977, 978], want_response: false }, ItemSet { range: Range(73, 86), items: [73, 80], want_response: true }, ItemSet { range: Range(86, 96), items: [86], want_response: true }, ItemSet { range: Range(167, 180), items: [167, 179], want_response: true }, ItemSet { range: Range(250, 253), items: [250, 251], want_response: true }, ItemSet { range: Range(620, 635), items: [621, 622], want_response: true }, ItemSet { range: Range(635, 657), items: [635, 649], want_response: true }, ItemSet { range: Range(688, 710), items: [688, 707], want_response: true }, ItemSet { range: Range(843, 891), items: [875, 887], want_response: true }, ItemSet { range: Range(891, 899), items: [891, 894], want_response: true }, ItemSet { range: Range(899, 927), items: [917, 918], want_response: true }, ItemSet { range: Range(927, 933), items: [927], want_response: true }], wants: [4, 19, 57, 253, 304, 471, 974, 989], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(73, 86), items: [74, 76, 77], want_response: false }, ItemSet { range: Range(86, 96), items: [], want_response: false }, ItemSet { range: Range(167, 180), items: [173], want_response: false }, ItemSet { range: Range(250, 253), items: [], want_response: false }, ItemSet { range: Range(620, 635), items: [620], want_response: false }, ItemSet { range: Range(635, 657), items: [640, 655], want_response: false }, ItemSet { range: Range(688, 710), items: [690], want_response: false }, ItemSet { range: Range(843, 891), items: [843, 848, 873, 876, 879], want_response: false }, ItemSet { range: Range(891, 899), items: [], want_response: false }, ItemSet { range: Range(899, 927), items: [899, 902, 911, 914], want_response: false }, ItemSet { range: Range(927, 933), items: [932], want_response: false }, ItemSet { range: Range(96, 167), items: [96, 161], want_response: true }, ItemSet { range: Range(180, 216), items: [180, 214], want_response: true }, ItemSet { range: Range(216, 250), items: [216], want_response: true }, ItemSet { range: Range(363, 418), items: [369, 396], want_response: true }, ItemSet { range: Range(418, 458), items: [437], want_response: true }, ItemSet { range: Range(504, 565), items: [556], want_response: true }, ItemSet { range: Range(565, 595), items: [585, 591], want_response: true }, ItemSet { range: Range(595, 620), items: [595], want_response: true }, ItemSet { range: Range(657, 688), items: [672, 681], want_response: true }, ItemSet { range: Range(710, 775), items: [710, 714], want_response: true }, ItemSet { range: Range(775, 843), items: [793], want_response: true }], wants: [16, 20, 32, 33, 35, 36, 56, 274, 303, 319, 340, 345, 346, 347, 350, 354, 355, 469, 477, 502, 933, 940, 941, 952, 957, 977, 978, 73, 80, 86, 167, 179, 250, 251, 621, 622, 635, 649, 688, 707, 875, 887, 891, 894, 917, 918, 927], provide: [(4, true), (19, true), (57, true), (253, true), (304, true), (471, true), (974, true), (989, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(96, 167), items: [118, 130, 158], want_response: false }, ItemSet { range: Range(180, 216), items: [196, 201, 205], want_response: false }, ItemSet { range: Range(216, 250), items: [], want_response: false }, ItemSet { range: Range(363, 418), items: [363, 366, 373, 380, 400], want_response: false }, ItemSet { range: Range(418, 458), items: [418, 425, 428, 435, 450], want_response: false }, ItemSet { range: Range(504, 565), items: [504, 533, 546, 547, 553, 563], want_response: false }, ItemSet { range: Range(565, 595), items: [565, 581], want_response: false }, ItemSet { range: Range(595, 620), items: [599, 613, 614], want_response: false }, ItemSet { range: Range(657, 688), items: [657, 666, 671], want_response: false }, ItemSet { range: Range(710, 775), items: [719, 725, 726, 728, 744], want_response: false }, ItemSet { range: Range(775, 843), items: [775, 789, 794, 816, 827], want_response: false }], wants: [74, 76, 77, 173, 620, 640, 655, 690, 843, 848, 873, 876, 879, 899, 902, 911, 914, 932, 96, 161, 180, 214, 216, 369, 396, 437, 556, 585, 591, 595, 672, 681, 710, 714, 793], provide: [(16, true), (20, true), (32, true), (33, true), (35, true), (36, true), (56, true), (274, true), (303, true), (319, true), (340, true), (345, true), (346, true), (347, true), (350, true), (354, true), (355, true), (469, true), (477, true), (502, true), (933, true), (940, true), (941, true), (952, true), (957, true), (977, true), (978, true), (73, true), (80, true), (86, true), (167, true), (179, true), (250, true), (251, true), (621, true), (622, true), (635, true), (649, true), (688, true), (707, true), (875, true), (887, true), (891, true), (894, true), (917, true), (918, true), (927, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [118, 130, 158, 196, 201, 205, 363, 366, 373, 380, 400, 418, 425, 428, 435, 450, 504, 533, 546, 547, 553, 563, 565, 581, 599, 613, 614, 657, 666, 671, 719, 725, 726, 728, 744, 775, 789, 794, 816, 827], provide: [(74, true), (76, true), (77, true), (173, true), (620, true), (640, true), (655, true), (690, true), (843, true), (848, true), (873, true), (876, true), (879, true), (899, true), (902, true), (911, true), (914, true), (932, true), (96, true), (161, true), (180, true), (214, true), (216, true), (369, true), (396, true), (437, true), (556, true), (585, true), (591, true), (595, true), (672, true), (681, true), (710, true), (714, true), (793, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(118, true), (130, true), (158, true), (196, true), (201, true), (205, true), (363, true), (366, true), (373, true), (380, true), (400, true), (418, true), (425, true), (428, true), (435, true), (450, true), (504, true), (533, true), (546, true), (547, true), (553, true), (563, true), (565, true), (581, true), (599, true), (613, true), (614, true), (657, true), (666, true), (671, true), (719, true), (725, true), (726, true), (728, true), (744, true), (775, true), (789, true), (794, true), (816, true), (827, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {4, 19, 57, 69, 74, 76, 77, 96, 161, 173, 180, 214, 216, 253, 304, 369, 396, 437, 458, 471, 556, 585, 591, 595, 620, 640, 655, 672, 681, 690, 710, 714, 793, 843, 848, 873, 876, 879, 899, 902, 911, 914, 932, 974, 989} + [16, 20, 32, 33, 35, 36, 56, 274, 303, 319, 340, 345, 346, 347, 350, 354, 355, 469, 477, 502, 933, 940, 941, 952, 957, 977, 978, 73, 80, 86, 167, 179, 250, 251, 621, 622, 635, 649, 688, 707, 875, 887, 891, 894, 917, 918, 927, 118, 130, 158, 196, 201, 205, 363, 366, 373, 380, 400, 418, 425, 428, 435, 450, 504, 533, 546, 547, 553, 563, 565, 581, 599, 613, 614, 657, 666, 671, 719, 725, 726, 728, 744, 775, 789, 794, 816, 827] [INFO] [stdout] b all: {16, 20, 32, 33, 35, 36, 56, 69, 73, 80, 86, 118, 130, 158, 167, 179, 196, 201, 205, 250, 251, 274, 303, 319, 340, 345, 346, 347, 350, 354, 355, 363, 366, 373, 380, 400, 418, 425, 428, 435, 450, 458, 469, 477, 502, 504, 533, 546, 547, 553, 563, 565, 581, 599, 613, 614, 621, 622, 635, 649, 657, 666, 671, 688, 707, 719, 725, 726, 728, 744, 775, 789, 794, 816, 827, 875, 887, 891, 894, 917, 918, 927, 933, 940, 941, 952, 957, 977, 978} + [4, 19, 57, 253, 304, 471, 974, 989, 74, 76, 77, 173, 620, 640, 655, 690, 843, 848, 873, 876, 879, 899, 902, 911, 914, 932, 96, 161, 180, 214, 216, 369, 396, 437, 556, 585, 591, 595, 672, 681, 710, 714, 793] [INFO] [stdout] [INFO] [stdout] all vec: [4, 16, 19, 20, 32, 33, 35, 36, 56, 57, 69, 73, 74, 76, 77, 80, 86, 96, 118, 130, 158, 161, 167, 173, 179, 180, 196, 201, 205, 214, 216, 250, 251, 253, 274, 303, 304, 319, 340, 345, 346, 347, 350, 354, 355, 363, 366, 369, 373, 380, 396, 400, 418, 425, 428, 435, 437, 450, 458, 469, 471, 477, 502, 504, 533, 546, 547, 553, 556, 563, 565, 581, 585, 591, 595, 599, 613, 614, 620, 621, 622, 635, 640, 649, 655, 657, 666, 671, 672, 681, 688, 690, 707, 710, 714, 719, 725, 726, 728, 744, 775, 789, 793, 794, 816, 827, 843, 848, 873, 875, 876, 879, 887, 891, 894, 899, 902, 911, 914, 917, 918, 927, 932, 933, 940, 941, 952, 957, 974, 977, 978, 989] [INFO] [stdout] [INFO] [stdout] a all vec: [4, 16, 19, 20, 32, 33, 35, 36, 56, 57, 69, 73, 74, 76, 77, 80, 86, 96, 118, 130, 158, 161, 167, 173, 179, 180, 196, 201, 205, 214, 216, 250, 251, 253, 274, 303, 304, 319, 340, 345, 346, 347, 350, 354, 355, 363, 366, 369, 373, 380, 396, 400, 418, 425, 428, 435, 437, 450, 458, 469, 471, 477, 502, 504, 533, 546, 547, 553, 556, 563, 565, 581, 585, 591, 595, 599, 613, 614, 620, 621, 622, 635, 640, 649, 655, 657, 666, 671, 672, 681, 688, 690, 707, 710, 714, 719, 725, 726, 728, 744, 775, 789, 793, 794, 816, 827, 843, 848, 873, 875, 876, 879, 887, 891, 894, 899, 902, 911, 914, 917, 918, 927, 932, 933, 940, 941, 952, 957, 974, 977, 978, 989], true true [INFO] [stdout] [INFO] [stdout] b all vec: [4, 16, 19, 20, 32, 33, 35, 36, 56, 57, 69, 73, 74, 76, 77, 80, 86, 96, 118, 130, 158, 161, 167, 173, 179, 180, 196, 201, 205, 214, 216, 250, 251, 253, 274, 303, 304, 319, 340, 345, 346, 347, 350, 354, 355, 363, 366, 369, 373, 380, 396, 400, 418, 425, 428, 435, 437, 450, 458, 469, 471, 477, 502, 504, 533, 546, 547, 553, 556, 563, 565, 581, 585, 591, 595, 599, 613, 614, 620, 621, 622, 635, 640, 649, 655, 657, 666, 671, 672, 681, 688, 690, 707, 710, 714, 719, 725, 726, 728, 744, 775, 789, 793, 794, 816, 827, 843, 848, 873, 875, 876, 879, 887, 891, 894, 899, 902, 911, 914, 917, 918, 927, 932, 933, 940, 941, 952, 957, 974, 977, 978, 989], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {13, 24, 43, 54, 55, 56, 94, 96, 97, 106, 115, 118, 132, 136, 152, 160, 181, 185, 186, 191, 219, 224, 230, 232, 251, 262, 267, 269, 273, 303, 321, 329, 330, 353, 381, 386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 681, 685, 715, 726, 740, 761, 763, 780, 785, 820, 821, 842, 853, 870, 884, 900, 905, 911, 924, 948, 950, 951, 970, 997} [INFO] [stdout] b items: {82, 145, 190, 210, 247, 292, 386, 518, 678, 702, 796, 917} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(13, 998), fp: EncodedCountingMonoid(91, SumMonoid(43686)) }], item_sets: [ItemSet { range: Range(998, 13), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(13, 386), fp: EncodedCountingMonoid(6, SumMonoid(1166)) }, Fingerprint { range: Range(386, 998), fp: EncodedCountingMonoid(6, SumMonoid(3997)) }], item_sets: [ItemSet { range: Range(998, 13), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(13, 186), fp: EncodedCountingMonoid(18, SumMonoid(1817)) }, Fingerprint { range: Range(186, 386), fp: EncodedCountingMonoid(17, SumMonoid(4621)) }, Fingerprint { range: Range(386, 648), fp: EncodedCountingMonoid(28, SumMonoid(14437)) }, Fingerprint { range: Range(648, 998), fp: EncodedCountingMonoid(28, SumMonoid(22811)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(13, 186), items: [82, 145], want_response: true }, ItemSet { range: Range(186, 247), items: [190, 210], want_response: true }, ItemSet { range: Range(247, 386), items: [247, 292], want_response: true }, ItemSet { range: Range(386, 648), items: [386, 518], want_response: true }, ItemSet { range: Range(648, 796), items: [678, 702], want_response: true }, ItemSet { range: Range(796, 998), items: [796, 917], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(13, 186), items: [13, 24, 43, 54, 55, 56, 94, 96, 97, 106, 115, 118, 132, 136, 152, 160, 181, 185], want_response: false }, ItemSet { range: Range(186, 247), items: [186, 191, 219, 224, 230, 232], want_response: false }, ItemSet { range: Range(247, 386), items: [251, 262, 267, 269, 273, 303, 321, 329, 330, 353, 381], want_response: false }, ItemSet { range: Range(386, 648), items: [386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638], want_response: false }, ItemSet { range: Range(648, 796), items: [648, 653, 660, 668, 681, 685, 715, 726, 740, 761, 763, 780, 785], want_response: false }, ItemSet { range: Range(796, 998), items: [820, 821, 842, 853, 870, 884, 900, 905, 911, 924, 948, 950, 951, 970, 997], want_response: false }], wants: [82, 145, 190, 210, 247, 292, 518, 678, 702, 796, 917], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [13, 24, 43, 54, 55, 56, 94, 96, 97, 106, 115, 118, 132, 136, 152, 160, 181, 185, 186, 191, 219, 224, 230, 232, 251, 262, 267, 269, 273, 303, 321, 329, 330, 353, 381, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 681, 685, 715, 726, 740, 761, 763, 780, 785, 820, 821, 842, 853, 870, 884, 900, 905, 911, 924, 948, 950, 951, 970, 997], provide: [(82, true), (145, true), (190, true), (210, true), (247, true), (292, true), (518, true), (678, true), (702, true), (796, true), (917, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(13, true), (24, true), (43, true), (54, true), (55, true), (56, true), (94, true), (96, true), (97, true), (106, true), (115, true), (118, true), (132, true), (136, true), (152, true), (160, true), (181, true), (185, true), (186, true), (191, true), (219, true), (224, true), (230, true), (232, true), (251, true), (262, true), (267, true), (269, true), (273, true), (303, true), (321, true), (329, true), (330, true), (353, true), (381, true), (394, true), (417, true), (419, true), (428, true), (434, true), (439, true), (449, true), (458, true), (459, true), (461, true), (494, true), (497, true), (501, true), (508, true), (522, true), (539, true), (574, true), (577, true), (582, true), (587, true), (593, true), (599, true), (603, true), (616, true), (626, true), (637, true), (638, true), (648, true), (653, true), (660, true), (668, true), (681, true), (685, true), (715, true), (726, true), (740, true), (761, true), (763, true), (780, true), (785, true), (820, true), (821, true), (842, true), (853, true), (870, true), (884, true), (900, true), (905, true), (911, true), (924, true), (948, true), (950, true), (951, true), (970, true), (997, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {13, 24, 43, 54, 55, 56, 94, 96, 97, 106, 115, 118, 132, 136, 152, 160, 181, 185, 186, 191, 219, 224, 230, 232, 251, 262, 267, 269, 273, 303, 321, 329, 330, 353, 381, 386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 681, 685, 715, 726, 740, 761, 763, 780, 785, 820, 821, 842, 853, 870, 884, 900, 905, 911, 924, 948, 950, 951, 970, 997} + [82, 145, 190, 210, 247, 292, 518, 678, 702, 796, 917] [INFO] [stdout] b all: {82, 145, 190, 210, 247, 292, 386, 518, 678, 702, 796, 917} + [13, 24, 43, 54, 55, 56, 94, 96, 97, 106, 115, 118, 132, 136, 152, 160, 181, 185, 186, 191, 219, 224, 230, 232, 251, 262, 267, 269, 273, 303, 321, 329, 330, 353, 381, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 681, 685, 715, 726, 740, 761, 763, 780, 785, 820, 821, 842, 853, 870, 884, 900, 905, 911, 924, 948, 950, 951, 970, 997] [INFO] [stdout] [INFO] [stdout] all vec: [13, 24, 43, 54, 55, 56, 82, 94, 96, 97, 106, 115, 118, 132, 136, 145, 152, 160, 181, 185, 186, 190, 191, 210, 219, 224, 230, 232, 247, 251, 262, 267, 269, 273, 292, 303, 321, 329, 330, 353, 381, 386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 518, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 678, 681, 685, 702, 715, 726, 740, 761, 763, 780, 785, 796, 820, 821, 842, 853, 870, 884, 900, 905, 911, 917, 924, 948, 950, 951, 970, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [13, 24, 43, 54, 55, 56, 82, 94, 96, 97, 106, 115, 118, 132, 136, 145, 152, 160, 181, 185, 186, 190, 191, 210, 219, 224, 230, 232, 247, 251, 262, 267, 269, 273, 292, 303, 321, 329, 330, 353, 381, 386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 518, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 678, 681, 685, 702, 715, 726, 740, 761, 763, 780, 785, 796, 820, 821, 842, 853, 870, 884, 900, 905, 911, 917, 924, 948, 950, 951, 970, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [13, 24, 43, 54, 55, 56, 82, 94, 96, 97, 106, 115, 118, 132, 136, 145, 152, 160, 181, 185, 186, 190, 191, 210, 219, 224, 230, 232, 247, 251, 262, 267, 269, 273, 292, 303, 321, 329, 330, 353, 381, 386, 394, 417, 419, 428, 434, 439, 449, 458, 459, 461, 494, 497, 501, 508, 518, 522, 539, 574, 577, 582, 587, 593, 599, 603, 616, 626, 637, 638, 648, 653, 660, 668, 678, 681, 685, 702, 715, 726, 740, 761, 763, 780, 785, 796, 820, 821, 842, 853, 870, 884, 900, 905, 911, 917, 924, 948, 950, 951, 970, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 44, 101, 121, 208, 209, 236, 249, 302, 352, 358, 418, 543, 545, 571, 609, 654, 657, 662, 729, 788, 829, 837, 863, 906, 940} [INFO] [stdout] b items: {18, 54, 68, 81, 106, 116, 122, 182, 215, 241, 243, 244, 248, 252, 270, 273, 285, 290, 293, 294, 298, 307, 312, 329, 337, 354, 386, 390, 396, 406, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 552, 580, 597, 606, 627, 658, 674, 698, 747, 767, 778, 794, 796, 810, 816, 822, 834, 835, 850, 857, 867, 879, 888, 891, 902, 909, 926, 930, 951, 978, 980} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 941), fp: EncodedCountingMonoid(26, SumMonoid(12734)) }], item_sets: [ItemSet { range: Range(941, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 520), fp: EncodedCountingMonoid(34, SumMonoid(9207)) }, Fingerprint { range: Range(520, 941), fp: EncodedCountingMonoid(34, SumMonoid(25085)) }], item_sets: [ItemSet { range: Range(941, 3), items: [951, 978, 980], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 236), fp: EncodedCountingMonoid(6, SumMonoid(686)) }, Fingerprint { range: Range(236, 520), fp: EncodedCountingMonoid(6, SumMonoid(1915)) }, Fingerprint { range: Range(520, 729), fp: EncodedCountingMonoid(7, SumMonoid(4241)) }, Fingerprint { range: Range(729, 941), fp: EncodedCountingMonoid(7, SumMonoid(5892)) }], item_sets: [], wants: [951, 978, 980], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 116), fp: EncodedCountingMonoid(5, SumMonoid(327)) }, Fingerprint { range: Range(116, 236), fp: EncodedCountingMonoid(4, SumMonoid(635)) }, Fingerprint { range: Range(236, 312), fp: EncodedCountingMonoid(13, SumMonoid(3538)) }, Fingerprint { range: Range(312, 520), fp: EncodedCountingMonoid(12, SumMonoid(4707)) }, Fingerprint { range: Range(520, 580), fp: EncodedCountingMonoid(7, SumMonoid(3747)) }, Fingerprint { range: Range(580, 729), fp: EncodedCountingMonoid(7, SumMonoid(4440)) }, Fingerprint { range: Range(729, 850), fp: EncodedCountingMonoid(10, SumMonoid(7999)) }, Fingerprint { range: Range(850, 941), fp: EncodedCountingMonoid(10, SumMonoid(8899)) }], item_sets: [], wants: [], provide: [(951, true), (978, true), (980, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 101), items: [3, 44], want_response: true }, ItemSet { range: Range(101, 116), items: [101], want_response: true }, ItemSet { range: Range(116, 209), items: [121, 208], want_response: true }, ItemSet { range: Range(209, 236), items: [209], want_response: true }, ItemSet { range: Range(236, 302), items: [236, 249], want_response: true }, ItemSet { range: Range(302, 312), items: [302], want_response: true }, ItemSet { range: Range(312, 418), items: [352, 358], want_response: true }, ItemSet { range: Range(418, 520), items: [418], want_response: true }, ItemSet { range: Range(520, 571), items: [543, 545], want_response: true }, ItemSet { range: Range(571, 580), items: [571], want_response: true }, ItemSet { range: Range(580, 657), items: [609, 654], want_response: true }, ItemSet { range: Range(657, 729), items: [657, 662], want_response: true }, ItemSet { range: Range(729, 829), items: [729, 788], want_response: true }, ItemSet { range: Range(829, 850), items: [829, 837], want_response: true }, ItemSet { range: Range(850, 940), items: [863, 906], want_response: true }, ItemSet { range: Range(940, 941), items: [940], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 101), items: [18, 54, 68, 81], want_response: false }, ItemSet { range: Range(101, 116), items: [106], want_response: false }, ItemSet { range: Range(116, 209), items: [116, 122, 182], want_response: false }, ItemSet { range: Range(209, 236), items: [215], want_response: false }, ItemSet { range: Range(236, 302), items: [241, 243, 244, 248, 252, 270, 273, 285, 290, 293, 294, 298], want_response: false }, ItemSet { range: Range(302, 312), items: [307], want_response: false }, ItemSet { range: Range(312, 418), items: [312, 329, 337, 354, 386, 390, 396, 406], want_response: false }, ItemSet { range: Range(418, 520), items: [425, 430, 434, 508], want_response: false }, ItemSet { range: Range(520, 571), items: [520, 521, 534, 538, 540, 542, 552], want_response: false }, ItemSet { range: Range(571, 580), items: [], want_response: false }, ItemSet { range: Range(580, 657), items: [580, 597, 606, 627], want_response: false }, ItemSet { range: Range(657, 729), items: [658, 674, 698], want_response: false }, ItemSet { range: Range(729, 829), items: [747, 767, 778, 794, 796, 810, 816, 822], want_response: false }, ItemSet { range: Range(829, 850), items: [834, 835], want_response: false }, ItemSet { range: Range(850, 940), items: [850, 857, 867, 879, 888, 891, 902, 909, 926, 930], want_response: false }, ItemSet { range: Range(940, 941), items: [], want_response: false }], wants: [3, 44, 101, 121, 208, 209, 236, 249, 302, 352, 358, 418, 543, 545, 571, 609, 654, 657, 662, 729, 788, 829, 837, 863, 906, 940], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [18, 54, 68, 81, 106, 116, 122, 182, 215, 241, 243, 244, 248, 252, 270, 273, 285, 290, 293, 294, 298, 307, 312, 329, 337, 354, 386, 390, 396, 406, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 552, 580, 597, 606, 627, 658, 674, 698, 747, 767, 778, 794, 796, 810, 816, 822, 834, 835, 850, 857, 867, 879, 888, 891, 902, 909, 926, 930], provide: [(3, true), (44, true), (101, true), (121, true), (208, true), (209, true), (236, true), (249, true), (302, true), (352, true), (358, true), (418, true), (543, true), (545, true), (571, true), (609, true), (654, true), (657, true), (662, true), (729, true), (788, true), (829, true), (837, true), (863, true), (906, true), (940, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(18, true), (54, true), (68, true), (81, true), (106, true), (116, true), (122, true), (182, true), (215, true), (241, true), (243, true), (244, true), (248, true), (252, true), (270, true), (273, true), (285, true), (290, true), (293, true), (294, true), (298, true), (307, true), (312, true), (329, true), (337, true), (354, true), (386, true), (390, true), (396, true), (406, true), (425, true), (430, true), (434, true), (508, true), (520, true), (521, true), (534, true), (538, true), (540, true), (542, true), (552, true), (580, true), (597, true), (606, true), (627, true), (658, true), (674, true), (698, true), (747, true), (767, true), (778, true), (794, true), (796, true), (810, true), (816, true), (822, true), (834, true), (835, true), (850, true), (857, true), (867, true), (879, true), (888, true), (891, true), (902, true), (909, true), (926, true), (930, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 44, 101, 121, 208, 209, 236, 249, 302, 352, 358, 418, 543, 545, 571, 609, 654, 657, 662, 729, 788, 829, 837, 863, 906, 940} + [951, 978, 980, 18, 54, 68, 81, 106, 116, 122, 182, 215, 241, 243, 244, 248, 252, 270, 273, 285, 290, 293, 294, 298, 307, 312, 329, 337, 354, 386, 390, 396, 406, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 552, 580, 597, 606, 627, 658, 674, 698, 747, 767, 778, 794, 796, 810, 816, 822, 834, 835, 850, 857, 867, 879, 888, 891, 902, 909, 926, 930] [INFO] [stdout] b all: {18, 54, 68, 81, 106, 116, 122, 182, 215, 241, 243, 244, 248, 252, 270, 273, 285, 290, 293, 294, 298, 307, 312, 329, 337, 354, 386, 390, 396, 406, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 552, 580, 597, 606, 627, 658, 674, 698, 747, 767, 778, 794, 796, 810, 816, 822, 834, 835, 850, 857, 867, 879, 888, 891, 902, 909, 926, 930, 951, 978, 980} + [3, 44, 101, 121, 208, 209, 236, 249, 302, 352, 358, 418, 543, 545, 571, 609, 654, 657, 662, 729, 788, 829, 837, 863, 906, 940] [INFO] [stdout] [INFO] [stdout] all vec: [3, 18, 44, 54, 68, 81, 101, 106, 116, 121, 122, 182, 208, 209, 215, 236, 241, 243, 244, 248, 249, 252, 270, 273, 285, 290, 293, 294, 298, 302, 307, 312, 329, 337, 352, 354, 358, 386, 390, 396, 406, 418, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 543, 545, 552, 571, 580, 597, 606, 609, 627, 654, 657, 658, 662, 674, 698, 729, 747, 767, 778, 788, 794, 796, 810, 816, 822, 829, 834, 835, 837, 850, 857, 863, 867, 879, 888, 891, 902, 906, 909, 926, 930, 940, 951, 978, 980] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 18, 44, 54, 68, 81, 101, 106, 116, 121, 122, 182, 208, 209, 215, 236, 241, 243, 244, 248, 249, 252, 270, 273, 285, 290, 293, 294, 298, 302, 307, 312, 329, 337, 352, 354, 358, 386, 390, 396, 406, 418, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 543, 545, 552, 571, 580, 597, 606, 609, 627, 654, 657, 658, 662, 674, 698, 729, 747, 767, 778, 788, 794, 796, 810, 816, 822, 829, 834, 835, 837, 850, 857, 863, 867, 879, 888, 891, 902, 906, 909, 926, 930, 940, 951, 978, 980], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 18, 44, 54, 68, 81, 101, 106, 116, 121, 122, 182, 208, 209, 215, 236, 241, 243, 244, 248, 249, 252, 270, 273, 285, 290, 293, 294, 298, 302, 307, 312, 329, 337, 352, 354, 358, 386, 390, 396, 406, 418, 425, 430, 434, 508, 520, 521, 534, 538, 540, 542, 543, 545, 552, 571, 580, 597, 606, 609, 627, 654, 657, 658, 662, 674, 698, 729, 747, 767, 778, 788, 794, 796, 810, 816, 822, 829, 834, 835, 837, 850, 857, 863, 867, 879, 888, 891, 902, 906, 909, 926, 930, 940, 951, 978, 980], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {93, 248, 261, 307, 328, 423, 450, 488, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998} [INFO] [stdout] b items: {109, 152, 246, 319, 515} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(93, 999), fp: EncodedCountingMonoid(19, SumMonoid(11470)) }], item_sets: [ItemSet { range: Range(999, 93), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(93, 319), fp: EncodedCountingMonoid(3, SumMonoid(507)) }], item_sets: [ItemSet { range: Range(999, 93), items: [], want_response: false }, ItemSet { range: Range(319, 999), items: [319, 515], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(319, 999), items: [328, 423, 450, 488, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998], want_response: false }, ItemSet { range: Range(93, 261), items: [93, 248], want_response: true }, ItemSet { range: Range(261, 319), items: [261, 307], want_response: true }], wants: [319, 515], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(93, 261), items: [109, 152, 246], want_response: false }, ItemSet { range: Range(261, 319), items: [], want_response: false }], wants: [328, 423, 450, 488, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998, 93, 248, 261, 307], provide: [(319, true), (515, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [109, 152, 246], provide: [(328, true), (423, true), (450, true), (488, true), (529, true), (532, true), (680, true), (814, true), (825, true), (841, true), (849, true), (888, true), (947, true), (969, true), (998, true), (93, true), (248, true), (261, true), (307, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(109, true), (152, true), (246, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {93, 248, 261, 307, 328, 423, 450, 488, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998} + [319, 515, 109, 152, 246] [INFO] [stdout] b all: {109, 152, 246, 319, 515} + [328, 423, 450, 488, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998, 93, 248, 261, 307] [INFO] [stdout] [INFO] [stdout] all vec: [93, 109, 152, 246, 248, 261, 307, 319, 328, 423, 450, 488, 515, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [93, 109, 152, 246, 248, 261, 307, 319, 328, 423, 450, 488, 515, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [93, 109, 152, 246, 248, 261, 307, 319, 328, 423, 450, 488, 515, 529, 532, 680, 814, 825, 841, 849, 888, 947, 969, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 12, 15, 17, 19, 25, 26, 39, 54, 61, 65, 68, 83, 88, 89, 90, 91, 129, 130, 135, 167, 179, 185, 231, 248, 249, 251, 270, 271, 278, 316, 345, 346, 347, 354, 373, 384, 389, 392, 395, 432, 450, 454, 468, 477, 480, 498, 505, 521, 525, 526, 545, 547, 556, 571, 591, 592, 629, 630, 643, 672, 697, 709, 710, 731, 732, 767, 786, 791, 800, 811, 815, 825, 826, 830, 838, 844, 850, 881, 896, 899, 912, 915, 927, 929, 930, 933, 935, 943, 948, 952, 979} [INFO] [stdout] b items: {5, 10, 23, 36, 50, 53, 61, 75, 107, 133, 135, 159, 161, 183, 221, 240, 287, 305, 308, 320, 366, 373, 393, 395, 403, 411, 416, 417, 423, 425, 435, 447, 454, 463, 483, 484, 508, 515, 519, 530, 547, 558, 564, 569, 573, 637, 664, 676, 701, 708, 710, 712, 714, 722, 726, 729, 735, 767, 773, 776, 796, 822, 852, 860, 926, 934, 953, 955, 981, 983, 990} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 980), fp: EncodedCountingMonoid(92, SumMonoid(44860)) }], item_sets: [ItemSet { range: Range(980, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 483), fp: EncodedCountingMonoid(34, SumMonoid(8693)) }, Fingerprint { range: Range(483, 980), fp: EncodedCountingMonoid(34, SumMonoid(23698)) }], item_sets: [ItemSet { range: Range(980, 1), items: [981, 983, 990], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 231), fp: EncodedCountingMonoid(23, SumMonoid(1768)) }, Fingerprint { range: Range(231, 483), fp: EncodedCountingMonoid(23, SumMonoid(8200)) }, Fingerprint { range: Range(483, 800), fp: EncodedCountingMonoid(23, SumMonoid(14474)) }, Fingerprint { range: Range(800, 980), fp: EncodedCountingMonoid(23, SumMonoid(20418)) }], item_sets: [], wants: [981, 983, 990], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 107), fp: EncodedCountingMonoid(8, SumMonoid(313)) }, Fingerprint { range: Range(107, 231), fp: EncodedCountingMonoid(7, SumMonoid(1099)) }, Fingerprint { range: Range(231, 411), fp: EncodedCountingMonoid(10, SumMonoid(3390)) }, Fingerprint { range: Range(411, 483), fp: EncodedCountingMonoid(9, SumMonoid(3891)) }, Fingerprint { range: Range(483, 701), fp: EncodedCountingMonoid(14, SumMonoid(7827)) }, Fingerprint { range: Range(701, 800), fp: EncodedCountingMonoid(13, SumMonoid(9569)) }, Fingerprint { range: Range(800, 934), fp: EncodedCountingMonoid(4, SumMonoid(3460)) }, Fingerprint { range: Range(934, 980), fp: EncodedCountingMonoid(3, SumMonoid(2842)) }], item_sets: [], wants: [], provide: [(981, true), (983, true), (990, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 61), fp: EncodedCountingMonoid(9, SumMonoid(208)) }, Fingerprint { range: Range(61, 107), fp: EncodedCountingMonoid(8, SumMonoid(635)) }, Fingerprint { range: Range(107, 167), fp: EncodedCountingMonoid(3, SumMonoid(394)) }, Fingerprint { range: Range(167, 231), fp: EncodedCountingMonoid(3, SumMonoid(531)) }, Fingerprint { range: Range(231, 346), fp: EncodedCountingMonoid(9, SumMonoid(2459)) }, Fingerprint { range: Range(346, 411), fp: EncodedCountingMonoid(8, SumMonoid(2980)) }, Fingerprint { range: Range(411, 468), fp: EncodedCountingMonoid(3, SumMonoid(1336)) }, Fingerprint { range: Range(468, 483), fp: EncodedCountingMonoid(3, SumMonoid(1425)) }, Fingerprint { range: Range(483, 571), fp: EncodedCountingMonoid(8, SumMonoid(4223)) }, Fingerprint { range: Range(571, 701), fp: EncodedCountingMonoid(8, SumMonoid(5025)) }, Fingerprint { range: Range(701, 767), fp: EncodedCountingMonoid(4, SumMonoid(2882)) }, Fingerprint { range: Range(767, 800), fp: EncodedCountingMonoid(3, SumMonoid(2344)) }, Fingerprint { range: Range(800, 881), fp: EncodedCountingMonoid(9, SumMonoid(7439)) }, Fingerprint { range: Range(881, 934), fp: EncodedCountingMonoid(9, SumMonoid(8222)) }, Fingerprint { range: Range(934, 952), fp: EncodedCountingMonoid(3, SumMonoid(2826)) }], item_sets: [ItemSet { range: Range(952, 980), items: [952, 979], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 36), fp: EncodedCountingMonoid(3, SumMonoid(38)) }, Fingerprint { range: Range(36, 61), fp: EncodedCountingMonoid(3, SumMonoid(139)) }, Fingerprint { range: Range(107, 159), fp: EncodedCountingMonoid(3, SumMonoid(375)) }, Fingerprint { range: Range(231, 308), fp: EncodedCountingMonoid(3, SumMonoid(832)) }, Fingerprint { range: Range(346, 395), fp: EncodedCountingMonoid(3, SumMonoid(1132)) }, Fingerprint { range: Range(411, 435), fp: EncodedCountingMonoid(5, SumMonoid(2092)) }, Fingerprint { range: Range(435, 468), fp: EncodedCountingMonoid(4, SumMonoid(1799)) }, Fingerprint { range: Range(483, 530), fp: EncodedCountingMonoid(5, SumMonoid(2509)) }, Fingerprint { range: Range(530, 571), fp: EncodedCountingMonoid(5, SumMonoid(2768)) }, Fingerprint { range: Range(701, 722), fp: EncodedCountingMonoid(5, SumMonoid(3545)) }, Fingerprint { range: Range(722, 767), fp: EncodedCountingMonoid(4, SumMonoid(2912)) }], item_sets: [ItemSet { range: Range(952, 980), items: [953, 955], want_response: false }, ItemSet { range: Range(61, 107), items: [61, 75], want_response: true }, ItemSet { range: Range(159, 167), items: [159, 161], want_response: true }, ItemSet { range: Range(167, 231), items: [183, 221], want_response: true }, ItemSet { range: Range(308, 346), items: [308, 320], want_response: true }, ItemSet { range: Range(395, 411), items: [395, 403], want_response: true }, ItemSet { range: Range(468, 483), items: [], want_response: true }, ItemSet { range: Range(571, 664), items: [573, 637], want_response: true }, ItemSet { range: Range(664, 701), items: [664, 676], want_response: true }, ItemSet { range: Range(767, 776), items: [767, 773], want_response: true }, ItemSet { range: Range(776, 800), items: [776, 796], want_response: true }, ItemSet { range: Range(800, 860), items: [822, 852], want_response: true }, ItemSet { range: Range(860, 881), items: [860], want_response: true }, ItemSet { range: Range(881, 934), items: [926], want_response: true }, ItemSet { range: Range(934, 952), items: [934], want_response: true }], wants: [952, 979], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 19), fp: EncodedCountingMonoid(4, SumMonoid(45)) }, Fingerprint { range: Range(19, 36), fp: EncodedCountingMonoid(3, SumMonoid(70)) }, Fingerprint { range: Range(231, 270), fp: EncodedCountingMonoid(4, SumMonoid(979)) }, Fingerprint { range: Range(270, 308), fp: EncodedCountingMonoid(3, SumMonoid(819)) }, Fingerprint { range: Range(346, 384), fp: EncodedCountingMonoid(4, SumMonoid(1420)) }, Fingerprint { range: Range(384, 395), fp: EncodedCountingMonoid(3, SumMonoid(1165)) }, Fingerprint { range: Range(483, 525), fp: EncodedCountingMonoid(3, SumMonoid(1524)) }], item_sets: [ItemSet { range: Range(61, 107), items: [61, 65, 68, 83, 88, 89, 90, 91], want_response: false }, ItemSet { range: Range(159, 167), items: [], want_response: false }, ItemSet { range: Range(167, 231), items: [167, 179, 185], want_response: false }, ItemSet { range: Range(308, 346), items: [316, 345], want_response: false }, ItemSet { range: Range(395, 411), items: [395], want_response: false }, ItemSet { range: Range(468, 483), items: [468, 477, 480], want_response: false }, ItemSet { range: Range(571, 664), items: [571, 591, 592, 629, 630, 643], want_response: false }, ItemSet { range: Range(664, 701), items: [672, 697], want_response: false }, ItemSet { range: Range(767, 776), items: [767], want_response: false }, ItemSet { range: Range(776, 800), items: [786, 791], want_response: false }, ItemSet { range: Range(800, 860), items: [800, 811, 815, 825, 826, 830, 838, 844, 850], want_response: false }, ItemSet { range: Range(860, 881), items: [], want_response: false }, ItemSet { range: Range(881, 934), items: [881, 896, 899, 912, 915, 927, 929, 930, 933], want_response: false }, ItemSet { range: Range(934, 952), items: [935, 943, 948], want_response: false }, ItemSet { range: Range(36, 61), items: [39, 54], want_response: true }, ItemSet { range: Range(107, 135), items: [129, 130], want_response: true }, ItemSet { range: Range(135, 159), items: [135], want_response: true }, ItemSet { range: Range(411, 435), items: [432], want_response: true }, ItemSet { range: Range(435, 468), items: [450, 454], want_response: true }, ItemSet { range: Range(525, 530), items: [525, 526], want_response: true }, ItemSet { range: Range(530, 556), items: [545, 547], want_response: true }, ItemSet { range: Range(556, 571), items: [556], want_response: true }, ItemSet { range: Range(701, 722), items: [709, 710], want_response: true }, ItemSet { range: Range(722, 767), items: [731, 732], want_response: true }], wants: [953, 955, 75, 159, 161, 183, 221, 308, 320, 403, 573, 637, 664, 676, 773, 776, 796, 822, 852, 860, 926, 934], provide: [(952, true), (979, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(483, 515), fp: EncodedCountingMonoid(3, SumMonoid(1475)) }], item_sets: [ItemSet { range: Range(36, 61), items: [36, 50, 53], want_response: false }, ItemSet { range: Range(107, 135), items: [107, 133], want_response: false }, ItemSet { range: Range(135, 159), items: [135], want_response: false }, ItemSet { range: Range(411, 435), items: [411, 416, 417, 423, 425], want_response: false }, ItemSet { range: Range(435, 468), items: [435, 447, 454, 463], want_response: false }, ItemSet { range: Range(525, 530), items: [], want_response: false }, ItemSet { range: Range(530, 556), items: [530, 547], want_response: false }, ItemSet { range: Range(556, 571), items: [558, 564, 569], want_response: false }, ItemSet { range: Range(701, 722), items: [701, 708, 710, 712, 714], want_response: false }, ItemSet { range: Range(722, 767), items: [722, 726, 729, 735], want_response: false }, ItemSet { range: Range(1, 19), items: [5, 10], want_response: true }, ItemSet { range: Range(19, 36), items: [23], want_response: true }, ItemSet { range: Range(231, 270), items: [240], want_response: true }, ItemSet { range: Range(270, 308), items: [287, 305], want_response: true }, ItemSet { range: Range(346, 384), items: [366, 373], want_response: true }, ItemSet { range: Range(384, 395), items: [393], want_response: true }, ItemSet { range: Range(515, 525), items: [515, 519], want_response: true }], wants: [65, 68, 83, 88, 89, 90, 91, 167, 179, 185, 316, 345, 468, 477, 480, 571, 591, 592, 629, 630, 643, 672, 697, 786, 791, 800, 811, 815, 825, 826, 830, 838, 844, 850, 881, 896, 899, 912, 915, 927, 929, 930, 933, 935, 943, 948, 39, 54, 129, 130, 432, 450, 525, 526, 545, 556, 709, 731, 732], provide: [(953, true), (955, true), (75, true), (159, true), (161, true), (183, true), (221, true), (308, true), (320, true), (403, true), (573, true), (637, true), (664, true), (676, true), (773, true), (776, true), (796, true), (822, true), (852, true), (860, true), (926, true), (934, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 19), items: [1, 12, 15, 17], want_response: false }, ItemSet { range: Range(19, 36), items: [19, 25, 26], want_response: false }, ItemSet { range: Range(231, 270), items: [231, 248, 249, 251], want_response: false }, ItemSet { range: Range(270, 308), items: [270, 271, 278], want_response: false }, ItemSet { range: Range(346, 384), items: [346, 347, 354, 373], want_response: false }, ItemSet { range: Range(384, 395), items: [384, 389, 392], want_response: false }, ItemSet { range: Range(515, 525), items: [521], want_response: false }, ItemSet { range: Range(483, 515), items: [498, 505], want_response: true }], wants: [36, 50, 53, 107, 133, 411, 416, 417, 423, 425, 435, 447, 463, 530, 558, 564, 569, 701, 708, 712, 714, 722, 726, 729, 735, 5, 10, 23, 240, 287, 305, 366, 393, 515, 519], provide: [(65, true), (68, true), (83, true), (88, true), (89, true), (90, true), (91, true), (167, true), (179, true), (185, true), (316, true), (345, true), (468, true), (477, true), (480, true), (571, true), (591, true), (592, true), (629, true), (630, true), (643, true), (672, true), (697, true), (786, true), (791, true), (800, true), (811, true), (815, true), (825, true), (826, true), (830, true), (838, true), (844, true), (850, true), (881, true), (896, true), (899, true), (912, true), (915, true), (927, true), (929, true), (930, true), (933, true), (935, true), (943, true), (948, true), (39, true), (54, true), (129, true), (130, true), (432, true), (450, true), (525, true), (526, true), (545, true), (556, true), (709, true), (731, true), (732, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(483, 515), items: [483, 484, 508], want_response: false }], wants: [1, 12, 15, 17, 19, 25, 26, 231, 248, 249, 251, 270, 271, 278, 346, 347, 354, 384, 389, 392, 521, 498, 505], provide: [(36, true), (50, true), (53, true), (107, true), (133, true), (411, true), (416, true), (417, true), (423, true), (425, true), (435, true), (447, true), (463, true), (530, true), (558, true), (564, true), (569, true), (701, true), (708, true), (712, true), (714, true), (722, true), (726, true), (729, true), (735, true), (5, true), (10, true), (23, true), (240, true), (287, true), (305, true), (366, true), (393, true), (515, true), (519, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [483, 484, 508], provide: [(1, true), (12, true), (15, true), (17, true), (19, true), (25, true), (26, true), (231, true), (248, true), (249, true), (251, true), (270, true), (271, true), (278, true), (346, true), (347, true), (354, true), (384, true), (389, true), (392, true), (521, true), (498, true), (505, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(483, true), (484, true), (508, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 12, 15, 17, 19, 25, 26, 39, 54, 61, 65, 68, 83, 88, 89, 90, 91, 129, 130, 135, 167, 179, 185, 231, 248, 249, 251, 270, 271, 278, 316, 345, 346, 347, 354, 373, 384, 389, 392, 395, 432, 450, 454, 468, 477, 480, 498, 505, 521, 525, 526, 545, 547, 556, 571, 591, 592, 629, 630, 643, 672, 697, 709, 710, 731, 732, 767, 786, 791, 800, 811, 815, 825, 826, 830, 838, 844, 850, 881, 896, 899, 912, 915, 927, 929, 930, 933, 935, 943, 948, 952, 979} + [981, 983, 990, 953, 955, 75, 159, 161, 183, 221, 308, 320, 403, 573, 637, 664, 676, 773, 776, 796, 822, 852, 860, 926, 934, 36, 50, 53, 107, 133, 411, 416, 417, 423, 425, 435, 447, 463, 530, 558, 564, 569, 701, 708, 712, 714, 722, 726, 729, 735, 5, 10, 23, 240, 287, 305, 366, 393, 515, 519, 483, 484, 508] [INFO] [stdout] b all: {5, 10, 23, 36, 50, 53, 61, 75, 107, 133, 135, 159, 161, 183, 221, 240, 287, 305, 308, 320, 366, 373, 393, 395, 403, 411, 416, 417, 423, 425, 435, 447, 454, 463, 483, 484, 508, 515, 519, 530, 547, 558, 564, 569, 573, 637, 664, 676, 701, 708, 710, 712, 714, 722, 726, 729, 735, 767, 773, 776, 796, 822, 852, 860, 926, 934, 953, 955, 981, 983, 990} + [952, 979, 65, 68, 83, 88, 89, 90, 91, 167, 179, 185, 316, 345, 468, 477, 480, 571, 591, 592, 629, 630, 643, 672, 697, 786, 791, 800, 811, 815, 825, 826, 830, 838, 844, 850, 881, 896, 899, 912, 915, 927, 929, 930, 933, 935, 943, 948, 39, 54, 129, 130, 432, 450, 525, 526, 545, 556, 709, 731, 732, 1, 12, 15, 17, 19, 25, 26, 231, 248, 249, 251, 270, 271, 278, 346, 347, 354, 384, 389, 392, 521, 498, 505] [INFO] [stdout] [INFO] [stdout] all vec: [1, 5, 10, 12, 15, 17, 19, 23, 25, 26, 36, 39, 50, 53, 54, 61, 65, 68, 75, 83, 88, 89, 90, 91, 107, 129, 130, 133, 135, 159, 161, 167, 179, 183, 185, 221, 231, 240, 248, 249, 251, 270, 271, 278, 287, 305, 308, 316, 320, 345, 346, 347, 354, 366, 373, 384, 389, 392, 393, 395, 403, 411, 416, 417, 423, 425, 432, 435, 447, 450, 454, 463, 468, 477, 480, 483, 484, 498, 505, 508, 515, 519, 521, 525, 526, 530, 545, 547, 556, 558, 564, 569, 571, 573, 591, 592, 629, 630, 637, 643, 664, 672, 676, 697, 701, 708, 709, 710, 712, 714, 722, 726, 729, 731, 732, 735, 767, 773, 776, 786, 791, 796, 800, 811, 815, 822, 825, 826, 830, 838, 844, 850, 852, 860, 881, 896, 899, 912, 915, 926, 927, 929, 930, 933, 934, 935, 943, 948, 952, 953, 955, 979, 981, 983, 990] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 5, 10, 12, 15, 17, 19, 23, 25, 26, 36, 39, 50, 53, 54, 61, 65, 68, 75, 83, 88, 89, 90, 91, 107, 129, 130, 133, 135, 159, 161, 167, 179, 183, 185, 221, 231, 240, 248, 249, 251, 270, 271, 278, 287, 305, 308, 316, 320, 345, 346, 347, 354, 366, 373, 384, 389, 392, 393, 395, 403, 411, 416, 417, 423, 425, 432, 435, 447, 450, 454, 463, 468, 477, 480, 483, 484, 498, 505, 508, 515, 519, 521, 525, 526, 530, 545, 547, 556, 558, 564, 569, 571, 573, 591, 592, 629, 630, 637, 643, 664, 672, 676, 697, 701, 708, 709, 710, 712, 714, 722, 726, 729, 731, 732, 735, 767, 773, 776, 786, 791, 796, 800, 811, 815, 822, 825, 826, 830, 838, 844, 850, 852, 860, 881, 896, 899, 912, 915, 926, 927, 929, 930, 933, 934, 935, 943, 948, 952, 953, 955, 979, 981, 983, 990], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 5, 10, 12, 15, 17, 19, 23, 25, 26, 36, 39, 50, 53, 54, 61, 65, 68, 75, 83, 88, 89, 90, 91, 107, 129, 130, 133, 135, 159, 161, 167, 179, 183, 185, 221, 231, 240, 248, 249, 251, 270, 271, 278, 287, 305, 308, 316, 320, 345, 346, 347, 354, 366, 373, 384, 389, 392, 393, 395, 403, 411, 416, 417, 423, 425, 432, 435, 447, 450, 454, 463, 468, 477, 480, 483, 484, 498, 505, 508, 515, 519, 521, 525, 526, 530, 545, 547, 556, 558, 564, 569, 571, 573, 591, 592, 629, 630, 637, 643, 664, 672, 676, 697, 701, 708, 709, 710, 712, 714, 722, 726, 729, 731, 732, 735, 767, 773, 776, 786, 791, 796, 800, 811, 815, 822, 825, 826, 830, 838, 844, 850, 852, 860, 881, 896, 899, 912, 915, 926, 927, 929, 930, 933, 934, 935, 943, 948, 952, 953, 955, 979, 981, 983, 990], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {15, 58, 70, 104, 108, 132, 142, 146, 167, 216, 224, 255, 257, 275, 280, 347, 408, 423, 434, 449, 472, 493, 503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 919, 951, 953, 955, 999} [INFO] [stdout] b items: {120, 191, 380, 501, 915} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 1000), fp: EncodedCountingMonoid(52, SumMonoid(27980)) }], item_sets: [ItemSet { range: Range(1000, 15), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(15, 501), fp: EncodedCountingMonoid(3, SumMonoid(691)) }], item_sets: [ItemSet { range: Range(1000, 15), items: [], want_response: false }, ItemSet { range: Range(501, 1000), items: [501, 915], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(15, 255), fp: EncodedCountingMonoid(11, SumMonoid(1382)) }, Fingerprint { range: Range(255, 501), fp: EncodedCountingMonoid(11, SumMonoid(4093)) }], item_sets: [ItemSet { range: Range(501, 1000), items: [503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 919, 951, 953, 955, 999], want_response: false }], wants: [501, 915], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 255), items: [120, 191], want_response: true }, ItemSet { range: Range(255, 501), items: [380], want_response: true }], wants: [503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 919, 951, 953, 955, 999], provide: [(501, true), (915, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(15, 255), items: [15, 58, 70, 104, 108, 132, 142, 146, 167, 216, 224], want_response: false }, ItemSet { range: Range(255, 501), items: [255, 257, 275, 280, 347, 408, 423, 434, 449, 472, 493], want_response: false }], wants: [120, 191, 380], provide: [(503, true), (512, true), (524, true), (536, true), (544, true), (545, true), (577, true), (598, true), (599, true), (645, true), (675, true), (701, true), (704, true), (743, true), (764, true), (807, true), (814, true), (828, true), (830, true), (855, true), (861, true), (870, true), (883, true), (899, true), (911, true), (919, true), (951, true), (953, true), (955, true), (999, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [15, 58, 70, 104, 108, 132, 142, 146, 167, 216, 224, 255, 257, 275, 280, 347, 408, 423, 434, 449, 472, 493], provide: [(120, true), (191, true), (380, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(15, true), (58, true), (70, true), (104, true), (108, true), (132, true), (142, true), (146, true), (167, true), (216, true), (224, true), (255, true), (257, true), (275, true), (280, true), (347, true), (408, true), (423, true), (434, true), (449, true), (472, true), (493, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {15, 58, 70, 104, 108, 132, 142, 146, 167, 216, 224, 255, 257, 275, 280, 347, 408, 423, 434, 449, 472, 493, 503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 919, 951, 953, 955, 999} + [501, 915, 120, 191, 380] [INFO] [stdout] b all: {120, 191, 380, 501, 915} + [503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 919, 951, 953, 955, 999, 15, 58, 70, 104, 108, 132, 142, 146, 167, 216, 224, 255, 257, 275, 280, 347, 408, 423, 434, 449, 472, 493] [INFO] [stdout] [INFO] [stdout] all vec: [15, 58, 70, 104, 108, 120, 132, 142, 146, 167, 191, 216, 224, 255, 257, 275, 280, 347, 380, 408, 423, 434, 449, 472, 493, 501, 503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 915, 919, 951, 953, 955, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [15, 58, 70, 104, 108, 120, 132, 142, 146, 167, 191, 216, 224, 255, 257, 275, 280, 347, 380, 408, 423, 434, 449, 472, 493, 501, 503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 915, 919, 951, 953, 955, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [15, 58, 70, 104, 108, 120, 132, 142, 146, 167, 191, 216, 224, 255, 257, 275, 280, 347, 380, 408, 423, 434, 449, 472, 493, 501, 503, 512, 524, 536, 544, 545, 577, 598, 599, 645, 675, 701, 704, 743, 764, 807, 814, 828, 830, 855, 861, 870, 883, 899, 911, 915, 919, 951, 953, 955, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 9, 33, 46, 52, 56, 66, 73, 78, 88, 98, 108, 137, 146, 160, 200, 206, 211, 259, 266, 276, 279, 280, 285, 286, 287, 291, 297, 324, 329, 359, 378, 381, 384, 398, 432, 438, 442, 451, 457, 466, 470, 516, 528, 538, 543, 551, 557, 589, 618, 634, 655, 657, 726, 735, 803, 810, 833, 841, 843, 851, 855, 878, 888, 892, 893, 894, 904, 908, 937, 949, 950, 986} [INFO] [stdout] b items: {2, 9, 13, 52, 125, 151, 198, 213, 220, 230, 235, 243, 276, 293, 309, 315, 369, 376, 389, 416, 430, 528, 559, 605, 610, 636, 649, 650, 665, 685, 710, 717, 723, 737, 743, 755, 758, 761, 785, 828, 849, 876, 883, 924, 978} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 987), fp: EncodedCountingMonoid(73, SumMonoid(34047)) }], item_sets: [ItemSet { range: Range(987, 3), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 605), fp: EncodedCountingMonoid(22, SumMonoid(5949)) }, Fingerprint { range: Range(605, 987), fp: EncodedCountingMonoid(22, SumMonoid(16527)) }], item_sets: [ItemSet { range: Range(987, 3), items: [2], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 287), fp: EncodedCountingMonoid(25, SumMonoid(3701)) }, Fingerprint { range: Range(287, 605), fp: EncodedCountingMonoid(24, SumMonoid(10406)) }, Fingerprint { range: Range(605, 855), fp: EncodedCountingMonoid(12, SumMonoid(9006)) }, Fingerprint { range: Range(855, 987), fp: EncodedCountingMonoid(12, SumMonoid(10934)) }], item_sets: [], wants: [2], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 213), fp: EncodedCountingMonoid(6, SumMonoid(548)) }, Fingerprint { range: Range(213, 287), fp: EncodedCountingMonoid(6, SumMonoid(1417)) }, Fingerprint { range: Range(287, 389), fp: EncodedCountingMonoid(5, SumMonoid(1662)) }, Fingerprint { range: Range(389, 605), fp: EncodedCountingMonoid(5, SumMonoid(2322)) }, Fingerprint { range: Range(605, 723), fp: EncodedCountingMonoid(9, SumMonoid(5927)) }, Fingerprint { range: Range(723, 855), fp: EncodedCountingMonoid(9, SumMonoid(6939)) }], item_sets: [ItemSet { range: Range(855, 924), items: [876, 883], want_response: true }, ItemSet { range: Range(924, 987), items: [924, 978], want_response: true }], wants: [], provide: [(2, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 88), fp: EncodedCountingMonoid(9, SumMonoid(416)) }, Fingerprint { range: Range(88, 213), fp: EncodedCountingMonoid(9, SumMonoid(1354)) }, Fingerprint { range: Range(213, 280), fp: EncodedCountingMonoid(4, SumMonoid(1080)) }, Fingerprint { range: Range(280, 287), fp: EncodedCountingMonoid(3, SumMonoid(851)) }, Fingerprint { range: Range(287, 359), fp: EncodedCountingMonoid(5, SumMonoid(1528)) }, Fingerprint { range: Range(359, 389), fp: EncodedCountingMonoid(4, SumMonoid(1502)) }, Fingerprint { range: Range(389, 516), fp: EncodedCountingMonoid(8, SumMonoid(3554)) }, Fingerprint { range: Range(516, 605), fp: EncodedCountingMonoid(7, SumMonoid(3822)) }, Fingerprint { range: Range(723, 833), fp: EncodedCountingMonoid(4, SumMonoid(3074)) }, Fingerprint { range: Range(833, 855), fp: EncodedCountingMonoid(4, SumMonoid(3368)) }], item_sets: [ItemSet { range: Range(855, 924), items: [855, 878, 888, 892, 893, 894, 904, 908], want_response: false }, ItemSet { range: Range(924, 987), items: [937, 949, 950, 986], want_response: false }, ItemSet { range: Range(605, 655), items: [618, 634], want_response: true }, ItemSet { range: Range(655, 723), items: [655, 657], want_response: true }], wants: [876, 883, 924, 978], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(213, 235), fp: EncodedCountingMonoid(3, SumMonoid(663)) }, Fingerprint { range: Range(235, 280), fp: EncodedCountingMonoid(3, SumMonoid(754)) }, Fingerprint { range: Range(723, 758), fp: EncodedCountingMonoid(4, SumMonoid(2958)) }, Fingerprint { range: Range(758, 833), fp: EncodedCountingMonoid(4, SumMonoid(3132)) }], item_sets: [ItemSet { range: Range(605, 655), items: [605, 610, 636, 649, 650], want_response: false }, ItemSet { range: Range(655, 723), items: [665, 685, 710, 717], want_response: false }, ItemSet { range: Range(3, 52), items: [9, 13], want_response: true }, ItemSet { range: Range(52, 88), items: [52], want_response: true }, ItemSet { range: Range(88, 198), items: [125, 151], want_response: true }, ItemSet { range: Range(198, 213), items: [198], want_response: true }, ItemSet { range: Range(280, 287), items: [], want_response: true }, ItemSet { range: Range(287, 315), items: [293, 309], want_response: true }, ItemSet { range: Range(315, 359), items: [315], want_response: true }, ItemSet { range: Range(359, 389), items: [369, 376], want_response: true }, ItemSet { range: Range(389, 430), items: [389, 416], want_response: true }, ItemSet { range: Range(430, 516), items: [430], want_response: true }, ItemSet { range: Range(516, 605), items: [528, 559], want_response: true }, ItemSet { range: Range(833, 855), items: [849], want_response: true }], wants: [855, 878, 888, 892, 893, 894, 904, 908, 937, 949, 950, 986, 618, 634, 655, 657], provide: [(876, true), (883, true), (924, true), (978, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 52), items: [3, 9, 33, 46], want_response: false }, ItemSet { range: Range(52, 88), items: [52, 56, 66, 73, 78], want_response: false }, ItemSet { range: Range(88, 198), items: [88, 98, 108, 137, 146, 160], want_response: false }, ItemSet { range: Range(198, 213), items: [200, 206, 211], want_response: false }, ItemSet { range: Range(280, 287), items: [280, 285, 286], want_response: false }, ItemSet { range: Range(287, 315), items: [287, 291, 297], want_response: false }, ItemSet { range: Range(315, 359), items: [324, 329], want_response: false }, ItemSet { range: Range(359, 389), items: [359, 378, 381, 384], want_response: false }, ItemSet { range: Range(389, 430), items: [398], want_response: false }, ItemSet { range: Range(430, 516), items: [432, 438, 442, 451, 457, 466, 470], want_response: false }, ItemSet { range: Range(516, 605), items: [516, 528, 538, 543, 551, 557, 589], want_response: false }, ItemSet { range: Range(833, 855), items: [833, 841, 843, 851], want_response: false }, ItemSet { range: Range(213, 235), items: [], want_response: true }, ItemSet { range: Range(235, 276), items: [259, 266], want_response: true }, ItemSet { range: Range(276, 280), items: [276, 279], want_response: true }, ItemSet { range: Range(723, 758), items: [726, 735], want_response: true }, ItemSet { range: Range(758, 833), items: [803, 810], want_response: true }], wants: [605, 610, 636, 649, 650, 665, 685, 710, 717, 13, 125, 151, 198, 293, 309, 315, 369, 376, 389, 416, 430, 559, 849], provide: [(855, true), (878, true), (888, true), (892, true), (893, true), (894, true), (904, true), (908, true), (937, true), (949, true), (950, true), (986, true), (618, true), (634, true), (655, true), (657, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(213, 235), items: [213, 220, 230], want_response: false }, ItemSet { range: Range(235, 276), items: [235, 243], want_response: false }, ItemSet { range: Range(276, 280), items: [276], want_response: false }, ItemSet { range: Range(723, 758), items: [723, 737, 743, 755], want_response: false }, ItemSet { range: Range(758, 833), items: [758, 761, 785, 828], want_response: false }], wants: [3, 33, 46, 56, 66, 73, 78, 88, 98, 108, 137, 146, 160, 200, 206, 211, 280, 285, 286, 287, 291, 297, 324, 329, 359, 378, 381, 384, 398, 432, 438, 442, 451, 457, 466, 470, 516, 538, 543, 551, 557, 589, 833, 841, 843, 851, 259, 266, 279, 726, 735, 803, 810], provide: [(605, true), (610, true), (636, true), (649, true), (650, true), (665, true), (685, true), (710, true), (717, true), (13, true), (125, true), (151, true), (198, true), (293, true), (309, true), (315, true), (369, true), (376, true), (389, true), (416, true), (430, true), (559, true), (849, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [213, 220, 230, 235, 243, 723, 737, 743, 755, 758, 761, 785, 828], provide: [(3, true), (33, true), (46, true), (56, true), (66, true), (73, true), (78, true), (88, true), (98, true), (108, true), (137, true), (146, true), (160, true), (200, true), (206, true), (211, true), (280, true), (285, true), (286, true), (287, true), (291, true), (297, true), (324, true), (329, true), (359, true), (378, true), (381, true), (384, true), (398, true), (432, true), (438, true), (442, true), (451, true), (457, true), (466, true), (470, true), (516, true), (538, true), (543, true), (551, true), (557, true), (589, true), (833, true), (841, true), (843, true), (851, true), (259, true), (266, true), (279, true), (726, true), (735, true), (803, true), (810, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(213, true), (220, true), (230, true), (235, true), (243, true), (723, true), (737, true), (743, true), (755, true), (758, true), (761, true), (785, true), (828, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 9, 33, 46, 52, 56, 66, 73, 78, 88, 98, 108, 137, 146, 160, 200, 206, 211, 259, 266, 276, 279, 280, 285, 286, 287, 291, 297, 324, 329, 359, 378, 381, 384, 398, 432, 438, 442, 451, 457, 466, 470, 516, 528, 538, 543, 551, 557, 589, 618, 634, 655, 657, 726, 735, 803, 810, 833, 841, 843, 851, 855, 878, 888, 892, 893, 894, 904, 908, 937, 949, 950, 986} + [2, 876, 883, 924, 978, 605, 610, 636, 649, 650, 665, 685, 710, 717, 13, 125, 151, 198, 293, 309, 315, 369, 376, 389, 416, 430, 559, 849, 213, 220, 230, 235, 243, 723, 737, 743, 755, 758, 761, 785, 828] [INFO] [stdout] b all: {2, 9, 13, 52, 125, 151, 198, 213, 220, 230, 235, 243, 276, 293, 309, 315, 369, 376, 389, 416, 430, 528, 559, 605, 610, 636, 649, 650, 665, 685, 710, 717, 723, 737, 743, 755, 758, 761, 785, 828, 849, 876, 883, 924, 978} + [855, 878, 888, 892, 893, 894, 904, 908, 937, 949, 950, 986, 618, 634, 655, 657, 3, 33, 46, 56, 66, 73, 78, 88, 98, 108, 137, 146, 160, 200, 206, 211, 280, 285, 286, 287, 291, 297, 324, 329, 359, 378, 381, 384, 398, 432, 438, 442, 451, 457, 466, 470, 516, 538, 543, 551, 557, 589, 833, 841, 843, 851, 259, 266, 279, 726, 735, 803, 810] [INFO] [stdout] [INFO] [stdout] all vec: [2, 3, 9, 13, 33, 46, 52, 56, 66, 73, 78, 88, 98, 108, 125, 137, 146, 151, 160, 198, 200, 206, 211, 213, 220, 230, 235, 243, 259, 266, 276, 279, 280, 285, 286, 287, 291, 293, 297, 309, 315, 324, 329, 359, 369, 376, 378, 381, 384, 389, 398, 416, 430, 432, 438, 442, 451, 457, 466, 470, 516, 528, 538, 543, 551, 557, 559, 589, 605, 610, 618, 634, 636, 649, 650, 655, 657, 665, 685, 710, 717, 723, 726, 735, 737, 743, 755, 758, 761, 785, 803, 810, 828, 833, 841, 843, 849, 851, 855, 876, 878, 883, 888, 892, 893, 894, 904, 908, 924, 937, 949, 950, 978, 986] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 3, 9, 13, 33, 46, 52, 56, 66, 73, 78, 88, 98, 108, 125, 137, 146, 151, 160, 198, 200, 206, 211, 213, 220, 230, 235, 243, 259, 266, 276, 279, 280, 285, 286, 287, 291, 293, 297, 309, 315, 324, 329, 359, 369, 376, 378, 381, 384, 389, 398, 416, 430, 432, 438, 442, 451, 457, 466, 470, 516, 528, 538, 543, 551, 557, 559, 589, 605, 610, 618, 634, 636, 649, 650, 655, 657, 665, 685, 710, 717, 723, 726, 735, 737, 743, 755, 758, 761, 785, 803, 810, 828, 833, 841, 843, 849, 851, 855, 876, 878, 883, 888, 892, 893, 894, 904, 908, 924, 937, 949, 950, 978, 986], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 3, 9, 13, 33, 46, 52, 56, 66, 73, 78, 88, 98, 108, 125, 137, 146, 151, 160, 198, 200, 206, 211, 213, 220, 230, 235, 243, 259, 266, 276, 279, 280, 285, 286, 287, 291, 293, 297, 309, 315, 324, 329, 359, 369, 376, 378, 381, 384, 389, 398, 416, 430, 432, 438, 442, 451, 457, 466, 470, 516, 528, 538, 543, 551, 557, 559, 589, 605, 610, 618, 634, 636, 649, 650, 655, 657, 665, 685, 710, 717, 723, 726, 735, 737, 743, 755, 758, 761, 785, 803, 810, 828, 833, 841, 843, 849, 851, 855, 876, 878, 883, 888, 892, 893, 894, 904, 908, 924, 937, 949, 950, 978, 986], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 22, 56, 73, 107, 124, 131, 145, 159, 169, 183, 192, 207, 216, 221, 259, 293, 305, 311, 316, 334, 337, 351, 404, 407, 413, 414, 422, 456, 478, 494, 502, 503, 527, 551, 558, 585, 621, 635, 640, 653, 667, 669, 679, 695, 701, 716, 735, 773, 822, 853, 855, 864, 869, 961, 984, 994} [INFO] [stdout] b items: {2, 17, 54, 121, 162, 197, 202, 231, 233, 243, 262, 276, 301, 353, 403, 425, 427, 448, 496, 516, 518, 529, 556, 559, 577, 609, 616, 672, 689, 751, 795, 818, 826, 884, 910, 926} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 995), fp: EncodedCountingMonoid(57, SumMonoid(26617)) }], item_sets: [ItemSet { range: Range(995, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 516), fp: EncodedCountingMonoid(18, SumMonoid(4851)) }, Fingerprint { range: Range(516, 995), fp: EncodedCountingMonoid(17, SumMonoid(11751)) }], item_sets: [ItemSet { range: Range(995, 6), items: [2], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 305), fp: EncodedCountingMonoid(17, SumMonoid(2563)) }, Fingerprint { range: Range(305, 516), fp: EncodedCountingMonoid(16, SumMonoid(6447)) }, Fingerprint { range: Range(516, 701), fp: EncodedCountingMonoid(12, SumMonoid(7480)) }, Fingerprint { range: Range(701, 995), fp: EncodedCountingMonoid(12, SumMonoid(10127)) }], item_sets: [], wants: [2], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 231), fp: EncodedCountingMonoid(6, SumMonoid(753)) }, Fingerprint { range: Range(231, 305), fp: EncodedCountingMonoid(6, SumMonoid(1546)) }, Fingerprint { range: Range(305, 427), fp: EncodedCountingMonoid(3, SumMonoid(1181)) }, Fingerprint { range: Range(427, 516), fp: EncodedCountingMonoid(3, SumMonoid(1371)) }, Fingerprint { range: Range(516, 577), fp: EncodedCountingMonoid(5, SumMonoid(2678)) }, Fingerprint { range: Range(577, 701), fp: EncodedCountingMonoid(5, SumMonoid(3163)) }, Fingerprint { range: Range(701, 884), fp: EncodedCountingMonoid(4, SumMonoid(3190)) }, Fingerprint { range: Range(884, 995), fp: EncodedCountingMonoid(3, SumMonoid(2720)) }], item_sets: [], wants: [], provide: [(2, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 159), fp: EncodedCountingMonoid(8, SumMonoid(664)) }, Fingerprint { range: Range(159, 231), fp: EncodedCountingMonoid(7, SumMonoid(1347)) }, Fingerprint { range: Range(305, 404), fp: EncodedCountingMonoid(6, SumMonoid(1954)) }, Fingerprint { range: Range(404, 427), fp: EncodedCountingMonoid(5, SumMonoid(2060)) }, Fingerprint { range: Range(427, 502), fp: EncodedCountingMonoid(3, SumMonoid(1428)) }, Fingerprint { range: Range(577, 667), fp: EncodedCountingMonoid(5, SumMonoid(3134)) }, Fingerprint { range: Range(667, 701), fp: EncodedCountingMonoid(4, SumMonoid(2710)) }, Fingerprint { range: Range(701, 853), fp: EncodedCountingMonoid(5, SumMonoid(3747)) }, Fingerprint { range: Range(853, 884), fp: EncodedCountingMonoid(4, SumMonoid(3441)) }], item_sets: [ItemSet { range: Range(231, 305), items: [259, 293], want_response: true }, ItemSet { range: Range(502, 516), items: [502, 503], want_response: true }, ItemSet { range: Range(516, 558), items: [527, 551], want_response: true }, ItemSet { range: Range(558, 577), items: [558], want_response: true }, ItemSet { range: Range(884, 994), items: [961, 984], want_response: true }, ItemSet { range: Range(994, 995), items: [994], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(231, 305), items: [231, 233, 243, 262, 276, 301], want_response: false }, ItemSet { range: Range(502, 516), items: [], want_response: false }, ItemSet { range: Range(516, 558), items: [516, 518, 529, 556], want_response: false }, ItemSet { range: Range(558, 577), items: [559], want_response: false }, ItemSet { range: Range(884, 994), items: [884, 910, 926], want_response: false }, ItemSet { range: Range(994, 995), items: [], want_response: false }, ItemSet { range: Range(6, 121), items: [17, 54], want_response: true }, ItemSet { range: Range(121, 159), items: [121], want_response: true }, ItemSet { range: Range(159, 202), items: [162, 197], want_response: true }, ItemSet { range: Range(202, 231), items: [202], want_response: true }, ItemSet { range: Range(305, 404), items: [353, 403], want_response: true }, ItemSet { range: Range(404, 427), items: [425], want_response: true }, ItemSet { range: Range(427, 496), items: [427, 448], want_response: true }, ItemSet { range: Range(496, 502), items: [496], want_response: true }, ItemSet { range: Range(577, 616), items: [577, 609], want_response: true }, ItemSet { range: Range(616, 667), items: [616], want_response: true }, ItemSet { range: Range(667, 701), items: [672, 689], want_response: true }, ItemSet { range: Range(701, 818), items: [751, 795], want_response: true }, ItemSet { range: Range(818, 853), items: [818, 826], want_response: true }, ItemSet { range: Range(853, 884), items: [], want_response: true }], wants: [259, 293, 502, 503, 527, 551, 558, 961, 984, 994], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 121), items: [6, 22, 56, 73, 107], want_response: false }, ItemSet { range: Range(121, 159), items: [124, 131, 145], want_response: false }, ItemSet { range: Range(159, 202), items: [159, 169, 183, 192], want_response: false }, ItemSet { range: Range(202, 231), items: [207, 216, 221], want_response: false }, ItemSet { range: Range(305, 404), items: [305, 311, 316, 334, 337, 351], want_response: false }, ItemSet { range: Range(404, 427), items: [404, 407, 413, 414, 422], want_response: false }, ItemSet { range: Range(427, 496), items: [456, 478, 494], want_response: false }, ItemSet { range: Range(496, 502), items: [], want_response: false }, ItemSet { range: Range(577, 616), items: [585], want_response: false }, ItemSet { range: Range(616, 667), items: [621, 635, 640, 653], want_response: false }, ItemSet { range: Range(667, 701), items: [667, 669, 679, 695], want_response: false }, ItemSet { range: Range(701, 818), items: [701, 716, 735, 773], want_response: false }, ItemSet { range: Range(818, 853), items: [822], want_response: false }, ItemSet { range: Range(853, 884), items: [853, 855, 864, 869], want_response: false }], wants: [231, 233, 243, 262, 276, 301, 516, 518, 529, 556, 559, 884, 910, 926, 17, 54, 121, 162, 197, 202, 353, 403, 425, 427, 448, 496, 577, 609, 616, 672, 689, 751, 795, 818, 826], provide: [(259, true), (293, true), (502, true), (503, true), (527, true), (551, true), (558, true), (961, true), (984, true), (994, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [6, 22, 56, 73, 107, 124, 131, 145, 159, 169, 183, 192, 207, 216, 221, 305, 311, 316, 334, 337, 351, 404, 407, 413, 414, 422, 456, 478, 494, 585, 621, 635, 640, 653, 667, 669, 679, 695, 701, 716, 735, 773, 822, 853, 855, 864, 869], provide: [(231, true), (233, true), (243, true), (262, true), (276, true), (301, true), (516, true), (518, true), (529, true), (556, true), (559, true), (884, true), (910, true), (926, true), (17, true), (54, true), (121, true), (162, true), (197, true), (202, true), (353, true), (403, true), (425, true), (427, true), (448, true), (496, true), (577, true), (609, true), (616, true), (672, true), (689, true), (751, true), (795, true), (818, true), (826, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(6, true), (22, true), (56, true), (73, true), (107, true), (124, true), (131, true), (145, true), (159, true), (169, true), (183, true), (192, true), (207, true), (216, true), (221, true), (305, true), (311, true), (316, true), (334, true), (337, true), (351, true), (404, true), (407, true), (413, true), (414, true), (422, true), (456, true), (478, true), (494, true), (585, true), (621, true), (635, true), (640, true), (653, true), (667, true), (669, true), (679, true), (695, true), (701, true), (716, true), (735, true), (773, true), (822, true), (853, true), (855, true), (864, true), (869, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 22, 56, 73, 107, 124, 131, 145, 159, 169, 183, 192, 207, 216, 221, 259, 293, 305, 311, 316, 334, 337, 351, 404, 407, 413, 414, 422, 456, 478, 494, 502, 503, 527, 551, 558, 585, 621, 635, 640, 653, 667, 669, 679, 695, 701, 716, 735, 773, 822, 853, 855, 864, 869, 961, 984, 994} + [2, 231, 233, 243, 262, 276, 301, 516, 518, 529, 556, 559, 884, 910, 926, 17, 54, 121, 162, 197, 202, 353, 403, 425, 427, 448, 496, 577, 609, 616, 672, 689, 751, 795, 818, 826] [INFO] [stdout] b all: {2, 17, 54, 121, 162, 197, 202, 231, 233, 243, 262, 276, 301, 353, 403, 425, 427, 448, 496, 516, 518, 529, 556, 559, 577, 609, 616, 672, 689, 751, 795, 818, 826, 884, 910, 926} + [259, 293, 502, 503, 527, 551, 558, 961, 984, 994, 6, 22, 56, 73, 107, 124, 131, 145, 159, 169, 183, 192, 207, 216, 221, 305, 311, 316, 334, 337, 351, 404, 407, 413, 414, 422, 456, 478, 494, 585, 621, 635, 640, 653, 667, 669, 679, 695, 701, 716, 735, 773, 822, 853, 855, 864, 869] [INFO] [stdout] [INFO] [stdout] all vec: [2, 6, 17, 22, 54, 56, 73, 107, 121, 124, 131, 145, 159, 162, 169, 183, 192, 197, 202, 207, 216, 221, 231, 233, 243, 259, 262, 276, 293, 301, 305, 311, 316, 334, 337, 351, 353, 403, 404, 407, 413, 414, 422, 425, 427, 448, 456, 478, 494, 496, 502, 503, 516, 518, 527, 529, 551, 556, 558, 559, 577, 585, 609, 616, 621, 635, 640, 653, 667, 669, 672, 679, 689, 695, 701, 716, 735, 751, 773, 795, 818, 822, 826, 853, 855, 864, 869, 884, 910, 926, 961, 984, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [2, 6, 17, 22, 54, 56, 73, 107, 121, 124, 131, 145, 159, 162, 169, 183, 192, 197, 202, 207, 216, 221, 231, 233, 243, 259, 262, 276, 293, 301, 305, 311, 316, 334, 337, 351, 353, 403, 404, 407, 413, 414, 422, 425, 427, 448, 456, 478, 494, 496, 502, 503, 516, 518, 527, 529, 551, 556, 558, 559, 577, 585, 609, 616, 621, 635, 640, 653, 667, 669, 672, 679, 689, 695, 701, 716, 735, 751, 773, 795, 818, 822, 826, 853, 855, 864, 869, 884, 910, 926, 961, 984, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [2, 6, 17, 22, 54, 56, 73, 107, 121, 124, 131, 145, 159, 162, 169, 183, 192, 197, 202, 207, 216, 221, 231, 233, 243, 259, 262, 276, 293, 301, 305, 311, 316, 334, 337, 351, 353, 403, 404, 407, 413, 414, 422, 425, 427, 448, 456, 478, 494, 496, 502, 503, 516, 518, 527, 529, 551, 556, 558, 559, 577, 585, 609, 616, 621, 635, 640, 653, 667, 669, 672, 679, 689, 695, 701, 716, 735, 751, 773, 795, 818, 822, 826, 853, 855, 864, 869, 884, 910, 926, 961, 984, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {177, 180, 195, 214, 231, 243, 256, 275, 332, 370, 375, 496, 548, 560, 619, 648, 670, 685, 733, 735, 770, 803, 818, 831, 880, 928, 943, 971} [INFO] [stdout] b items: {5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 193, 226, 231, 234, 241, 291, 293, 353, 367, 369, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 517, 531, 548, 564, 580, 590, 608, 626, 634, 637, 642, 646, 648, 666, 668, 689, 713, 715, 730, 744, 750, 767, 815, 817, 819, 842, 857, 860, 900, 903, 910, 926, 930, 939, 946, 951, 960, 967, 970, 984, 997, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(177, 972), fp: EncodedCountingMonoid(28, SumMonoid(15486)) }], item_sets: [ItemSet { range: Range(972, 177), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(177, 626), fp: EncodedCountingMonoid(32, SumMonoid(13263)) }, Fingerprint { range: Range(626, 972), fp: EncodedCountingMonoid(32, SumMonoid(25587)) }], item_sets: [ItemSet { range: Range(972, 177), items: [984, 997, 999, 5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(177, 332), fp: EncodedCountingMonoid(8, SumMonoid(1771)) }, Fingerprint { range: Range(332, 626), fp: EncodedCountingMonoid(7, SumMonoid(3300)) }, Fingerprint { range: Range(626, 818), fp: EncodedCountingMonoid(7, SumMonoid(5044)) }, Fingerprint { range: Range(818, 972), fp: EncodedCountingMonoid(6, SumMonoid(5371)) }], item_sets: [], wants: [984, 997, 999, 5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(177, 241), fp: EncodedCountingMonoid(4, SumMonoid(884)) }, Fingerprint { range: Range(241, 332), fp: EncodedCountingMonoid(3, SumMonoid(825)) }, Fingerprint { range: Range(332, 455), fp: EncodedCountingMonoid(13, SumMonoid(5251)) }, Fingerprint { range: Range(455, 626), fp: EncodedCountingMonoid(12, SumMonoid(6303)) }, Fingerprint { range: Range(626, 713), fp: EncodedCountingMonoid(9, SumMonoid(5856)) }, Fingerprint { range: Range(713, 818), fp: EncodedCountingMonoid(8, SumMonoid(6051)) }, Fingerprint { range: Range(818, 930), fp: EncodedCountingMonoid(8, SumMonoid(7017)) }, Fingerprint { range: Range(930, 972), fp: EncodedCountingMonoid(7, SumMonoid(6663)) }], item_sets: [], wants: [], provide: [(984, true), (997, true), (999, true), (5, true), (31, true), (37, true), (45, true), (50, true), (90, true), (95, true), (100, true), (107, true), (111, true), (121, true), (151, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(177, 214), fp: EncodedCountingMonoid(3, SumMonoid(552)) }], item_sets: [ItemSet { range: Range(214, 241), items: [214, 231], want_response: true }, ItemSet { range: Range(241, 275), items: [243, 256], want_response: true }, ItemSet { range: Range(275, 332), items: [275], want_response: true }, ItemSet { range: Range(332, 375), items: [332, 370], want_response: true }, ItemSet { range: Range(375, 455), items: [375], want_response: true }, ItemSet { range: Range(455, 560), items: [496, 548], want_response: true }, ItemSet { range: Range(560, 626), items: [560, 619], want_response: true }, ItemSet { range: Range(626, 685), items: [648, 670], want_response: true }, ItemSet { range: Range(685, 713), items: [685], want_response: true }, ItemSet { range: Range(713, 770), items: [733, 735], want_response: true }, ItemSet { range: Range(770, 818), items: [770, 803], want_response: true }, ItemSet { range: Range(818, 880), items: [818, 831], want_response: true }, ItemSet { range: Range(880, 930), items: [880, 928], want_response: true }, ItemSet { range: Range(930, 972), items: [943, 971], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(214, 241), items: [226, 231, 234], want_response: false }, ItemSet { range: Range(241, 275), items: [241], want_response: false }, ItemSet { range: Range(275, 332), items: [291, 293], want_response: false }, ItemSet { range: Range(332, 375), items: [353, 367, 369], want_response: false }, ItemSet { range: Range(375, 455), items: [379, 386, 391, 394, 418, 421, 431, 441, 448, 453], want_response: false }, ItemSet { range: Range(455, 560), items: [455, 461, 470, 485, 494, 517, 531, 548], want_response: false }, ItemSet { range: Range(560, 626), items: [564, 580, 590, 608], want_response: false }, ItemSet { range: Range(626, 685), items: [626, 634, 637, 642, 646, 648, 666, 668], want_response: false }, ItemSet { range: Range(685, 713), items: [689], want_response: false }, ItemSet { range: Range(713, 770), items: [713, 715, 730, 744, 750, 767], want_response: false }, ItemSet { range: Range(770, 818), items: [815, 817], want_response: false }, ItemSet { range: Range(818, 880), items: [819, 842, 857, 860], want_response: false }, ItemSet { range: Range(880, 930), items: [900, 903, 910, 926], want_response: false }, ItemSet { range: Range(930, 972), items: [930, 939, 946, 951, 960, 967, 970], want_response: false }, ItemSet { range: Range(177, 214), items: [193], want_response: true }], wants: [214, 243, 256, 275, 332, 370, 375, 496, 560, 619, 670, 685, 733, 735, 770, 803, 818, 831, 880, 928, 943, 971], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(177, 214), items: [177, 180, 195], want_response: false }], wants: [226, 234, 241, 291, 293, 353, 367, 369, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 517, 531, 564, 580, 590, 608, 626, 634, 637, 642, 646, 666, 668, 689, 713, 715, 730, 744, 750, 767, 815, 817, 819, 842, 857, 860, 900, 903, 910, 926, 930, 939, 946, 951, 960, 967, 970, 193], provide: [(214, true), (243, true), (256, true), (275, true), (332, true), (370, true), (375, true), (496, true), (560, true), (619, true), (670, true), (685, true), (733, true), (735, true), (770, true), (803, true), (818, true), (831, true), (880, true), (928, true), (943, true), (971, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [177, 180, 195], provide: [(226, true), (234, true), (241, true), (291, true), (293, true), (353, true), (367, true), (369, true), (379, true), (386, true), (391, true), (394, true), (418, true), (421, true), (431, true), (441, true), (448, true), (453, true), (455, true), (461, true), (470, true), (485, true), (494, true), (517, true), (531, true), (564, true), (580, true), (590, true), (608, true), (626, true), (634, true), (637, true), (642, true), (646, true), (666, true), (668, true), (689, true), (713, true), (715, true), (730, true), (744, true), (750, true), (767, true), (815, true), (817, true), (819, true), (842, true), (857, true), (860, true), (900, true), (903, true), (910, true), (926, true), (930, true), (939, true), (946, true), (951, true), (960, true), (967, true), (970, true), (193, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(177, true), (180, true), (195, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {177, 180, 195, 214, 231, 243, 256, 275, 332, 370, 375, 496, 548, 560, 619, 648, 670, 685, 733, 735, 770, 803, 818, 831, 880, 928, 943, 971} + [984, 997, 999, 5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 226, 234, 241, 291, 293, 353, 367, 369, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 517, 531, 564, 580, 590, 608, 626, 634, 637, 642, 646, 666, 668, 689, 713, 715, 730, 744, 750, 767, 815, 817, 819, 842, 857, 860, 900, 903, 910, 926, 930, 939, 946, 951, 960, 967, 970, 193] [INFO] [stdout] b all: {5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 193, 226, 231, 234, 241, 291, 293, 353, 367, 369, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 517, 531, 548, 564, 580, 590, 608, 626, 634, 637, 642, 646, 648, 666, 668, 689, 713, 715, 730, 744, 750, 767, 815, 817, 819, 842, 857, 860, 900, 903, 910, 926, 930, 939, 946, 951, 960, 967, 970, 984, 997, 999} + [214, 243, 256, 275, 332, 370, 375, 496, 560, 619, 670, 685, 733, 735, 770, 803, 818, 831, 880, 928, 943, 971, 177, 180, 195] [INFO] [stdout] [INFO] [stdout] all vec: [5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 177, 180, 193, 195, 214, 226, 231, 234, 241, 243, 256, 275, 291, 293, 332, 353, 367, 369, 370, 375, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 496, 517, 531, 548, 560, 564, 580, 590, 608, 619, 626, 634, 637, 642, 646, 648, 666, 668, 670, 685, 689, 713, 715, 730, 733, 735, 744, 750, 767, 770, 803, 815, 817, 818, 819, 831, 842, 857, 860, 880, 900, 903, 910, 926, 928, 930, 939, 943, 946, 951, 960, 967, 970, 971, 984, 997, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 177, 180, 193, 195, 214, 226, 231, 234, 241, 243, 256, 275, 291, 293, 332, 353, 367, 369, 370, 375, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 496, 517, 531, 548, 560, 564, 580, 590, 608, 619, 626, 634, 637, 642, 646, 648, 666, 668, 670, 685, 689, 713, 715, 730, 733, 735, 744, 750, 767, 770, 803, 815, 817, 818, 819, 831, 842, 857, 860, 880, 900, 903, 910, 926, 928, 930, 939, 943, 946, 951, 960, 967, 970, 971, 984, 997, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 31, 37, 45, 50, 90, 95, 100, 107, 111, 121, 151, 177, 180, 193, 195, 214, 226, 231, 234, 241, 243, 256, 275, 291, 293, 332, 353, 367, 369, 370, 375, 379, 386, 391, 394, 418, 421, 431, 441, 448, 453, 455, 461, 470, 485, 494, 496, 517, 531, 548, 560, 564, 580, 590, 608, 619, 626, 634, 637, 642, 646, 648, 666, 668, 670, 685, 689, 713, 715, 730, 733, 735, 744, 750, 767, 770, 803, 815, 817, 818, 819, 831, 842, 857, 860, 880, 900, 903, 910, 926, 928, 930, 939, 943, 946, 951, 960, 967, 970, 971, 984, 997, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {18, 22, 25, 63, 108, 122, 142, 164, 172, 177, 180, 195, 196, 206, 208, 253, 266, 272, 275, 277, 295, 355, 395, 429, 481, 482, 483, 491, 493, 511, 513, 517, 518, 525, 527, 529, 531, 574, 587, 605, 615, 675, 685, 711, 712, 717, 732, 762, 763, 771, 772, 787, 832, 851, 861, 884, 890, 897, 916, 927, 946, 968, 992, 999} [INFO] [stdout] b items: {5, 10, 62, 65, 67, 129, 160, 186, 187, 202, 204, 258, 278, 283, 291, 294, 314, 319, 326, 331, 350, 374, 375, 391, 393, 401, 415, 433, 506, 538, 542, 543, 555, 567, 583, 587, 602, 618, 645, 660, 669, 678, 731, 738, 755, 758, 764, 774, 821, 823, 830, 843, 876, 881, 902, 923, 929, 931, 944, 948, 952, 953, 970, 977, 984, 988} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(18, 1000), fp: EncodedCountingMonoid(64, SumMonoid(32847)) }], item_sets: [ItemSet { range: Range(1000, 18), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(18, 583), fp: EncodedCountingMonoid(32, SumMonoid(10339)) }, Fingerprint { range: Range(583, 1000), fp: EncodedCountingMonoid(32, SumMonoid(26037)) }], item_sets: [ItemSet { range: Range(1000, 18), items: [5, 10], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(18, 277), fp: EncodedCountingMonoid(19, SumMonoid(3064)) }, Fingerprint { range: Range(277, 583), fp: EncodedCountingMonoid(19, SumMonoid(8926)) }, Fingerprint { range: Range(583, 787), fp: EncodedCountingMonoid(13, SumMonoid(9107)) }, Fingerprint { range: Range(787, 1000), fp: EncodedCountingMonoid(13, SumMonoid(11750)) }], item_sets: [], wants: [5, 10], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(18, 186), fp: EncodedCountingMonoid(5, SumMonoid(483)) }, Fingerprint { range: Range(186, 277), fp: EncodedCountingMonoid(5, SumMonoid(1037)) }, Fingerprint { range: Range(277, 391), fp: EncodedCountingMonoid(11, SumMonoid(3535)) }, Fingerprint { range: Range(391, 583), fp: EncodedCountingMonoid(11, SumMonoid(5284)) }, Fingerprint { range: Range(583, 678), fp: EncodedCountingMonoid(7, SumMonoid(4364)) }, Fingerprint { range: Range(678, 787), fp: EncodedCountingMonoid(7, SumMonoid(5198)) }, Fingerprint { range: Range(787, 931), fp: EncodedCountingMonoid(9, SumMonoid(7828)) }, Fingerprint { range: Range(931, 1000), fp: EncodedCountingMonoid(9, SumMonoid(8647)) }], item_sets: [], wants: [], provide: [(5, true), (10, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(18, 142), fp: EncodedCountingMonoid(6, SumMonoid(358)) }, Fingerprint { range: Range(142, 186), fp: EncodedCountingMonoid(5, SumMonoid(835)) }, Fingerprint { range: Range(186, 253), fp: EncodedCountingMonoid(4, SumMonoid(805)) }, Fingerprint { range: Range(253, 277), fp: EncodedCountingMonoid(4, SumMonoid(1066)) }, Fingerprint { range: Range(391, 513), fp: EncodedCountingMonoid(8, SumMonoid(3765)) }, Fingerprint { range: Range(513, 583), fp: EncodedCountingMonoid(8, SumMonoid(4234)) }, Fingerprint { range: Range(678, 762), fp: EncodedCountingMonoid(5, SumMonoid(3557)) }, Fingerprint { range: Range(762, 787), fp: EncodedCountingMonoid(4, SumMonoid(3068)) }, Fingerprint { range: Range(787, 890), fp: EncodedCountingMonoid(5, SumMonoid(4215)) }, Fingerprint { range: Range(890, 931), fp: EncodedCountingMonoid(4, SumMonoid(3630)) }], item_sets: [ItemSet { range: Range(277, 355), items: [277, 295], want_response: true }, ItemSet { range: Range(355, 391), items: [355], want_response: true }, ItemSet { range: Range(583, 615), items: [587, 605], want_response: true }, ItemSet { range: Range(615, 678), items: [615, 675], want_response: true }, ItemSet { range: Range(931, 992), items: [946, 968], want_response: true }, ItemSet { range: Range(992, 1000), items: [992, 999], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(391, 415), fp: EncodedCountingMonoid(3, SumMonoid(1185)) }, Fingerprint { range: Range(415, 513), fp: EncodedCountingMonoid(3, SumMonoid(1354)) }, Fingerprint { range: Range(513, 555), fp: EncodedCountingMonoid(3, SumMonoid(1623)) }, Fingerprint { range: Range(678, 755), fp: EncodedCountingMonoid(3, SumMonoid(2147)) }, Fingerprint { range: Range(787, 843), fp: EncodedCountingMonoid(3, SumMonoid(2474)) }, Fingerprint { range: Range(843, 890), fp: EncodedCountingMonoid(3, SumMonoid(2600)) }], item_sets: [ItemSet { range: Range(277, 355), items: [278, 283, 291, 294, 314, 319, 326, 331, 350], want_response: false }, ItemSet { range: Range(355, 391), items: [374, 375], want_response: false }, ItemSet { range: Range(583, 615), items: [583, 587, 602], want_response: false }, ItemSet { range: Range(615, 678), items: [618, 645, 660, 669], want_response: false }, ItemSet { range: Range(931, 992), items: [931, 944, 948, 952, 953, 970, 977, 984, 988], want_response: false }, ItemSet { range: Range(992, 1000), items: [], want_response: false }, ItemSet { range: Range(18, 67), items: [62, 65], want_response: true }, ItemSet { range: Range(67, 142), items: [67, 129], want_response: true }, ItemSet { range: Range(142, 186), items: [160], want_response: true }, ItemSet { range: Range(186, 202), items: [186, 187], want_response: true }, ItemSet { range: Range(202, 253), items: [202, 204], want_response: true }, ItemSet { range: Range(253, 277), items: [258], want_response: true }, ItemSet { range: Range(555, 583), items: [555, 567], want_response: true }, ItemSet { range: Range(755, 762), items: [755, 758], want_response: true }, ItemSet { range: Range(762, 787), items: [764, 774], want_response: true }, ItemSet { range: Range(890, 929), items: [902, 923], want_response: true }, ItemSet { range: Range(929, 931), items: [929], want_response: true }], wants: [277, 295, 355, 605, 615, 675, 946, 968, 992, 999], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(415, 491), fp: EncodedCountingMonoid(4, SumMonoid(1875)) }, Fingerprint { range: Range(491, 513), fp: EncodedCountingMonoid(3, SumMonoid(1495)) }, Fingerprint { range: Range(513, 527), fp: EncodedCountingMonoid(4, SumMonoid(2073)) }, Fingerprint { range: Range(527, 555), fp: EncodedCountingMonoid(3, SumMonoid(1587)) }, Fingerprint { range: Range(678, 717), fp: EncodedCountingMonoid(3, SumMonoid(2108)) }], item_sets: [ItemSet { range: Range(18, 67), items: [18, 22, 25, 63], want_response: false }, ItemSet { range: Range(67, 142), items: [108, 122], want_response: false }, ItemSet { range: Range(142, 186), items: [142, 164, 172, 177, 180], want_response: false }, ItemSet { range: Range(186, 202), items: [195, 196], want_response: false }, ItemSet { range: Range(202, 253), items: [206, 208], want_response: false }, ItemSet { range: Range(253, 277), items: [253, 266, 272, 275], want_response: false }, ItemSet { range: Range(555, 583), items: [574], want_response: false }, ItemSet { range: Range(755, 762), items: [], want_response: false }, ItemSet { range: Range(762, 787), items: [762, 763, 771, 772], want_response: false }, ItemSet { range: Range(890, 929), items: [890, 897, 916, 927], want_response: false }, ItemSet { range: Range(929, 931), items: [], want_response: false }, ItemSet { range: Range(391, 415), items: [395], want_response: true }, ItemSet { range: Range(717, 755), items: [717, 732], want_response: true }, ItemSet { range: Range(787, 843), items: [787, 832], want_response: true }, ItemSet { range: Range(843, 884), items: [851, 861], want_response: true }, ItemSet { range: Range(884, 890), items: [884], want_response: true }], wants: [278, 283, 291, 294, 314, 319, 326, 331, 350, 374, 375, 583, 602, 618, 645, 660, 669, 931, 944, 948, 952, 953, 970, 977, 984, 988, 62, 65, 67, 129, 160, 186, 187, 202, 204, 258, 555, 567, 755, 758, 764, 774, 902, 923, 929], provide: [(277, true), (295, true), (355, true), (605, true), (615, true), (675, true), (946, true), (968, true), (992, true), (999, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(391, 415), items: [391, 393, 401], want_response: false }, ItemSet { range: Range(717, 755), items: [731, 738], want_response: false }, ItemSet { range: Range(787, 843), items: [821, 823, 830], want_response: false }, ItemSet { range: Range(843, 884), items: [843, 876, 881], want_response: false }, ItemSet { range: Range(884, 890), items: [], want_response: false }, ItemSet { range: Range(415, 491), items: [415, 433], want_response: true }, ItemSet { range: Range(491, 513), items: [506], want_response: true }, ItemSet { range: Range(513, 527), items: [], want_response: true }, ItemSet { range: Range(527, 543), items: [538, 542], want_response: true }, ItemSet { range: Range(543, 555), items: [543], want_response: true }, ItemSet { range: Range(678, 717), items: [678], want_response: true }], wants: [18, 22, 25, 63, 108, 122, 142, 164, 172, 177, 180, 195, 196, 206, 208, 253, 266, 272, 275, 574, 762, 763, 771, 772, 890, 897, 916, 927, 395, 717, 732, 787, 832, 851, 861, 884], provide: [(278, true), (283, true), (291, true), (294, true), (314, true), (319, true), (326, true), (331, true), (350, true), (374, true), (375, true), (583, true), (602, true), (618, true), (645, true), (660, true), (669, true), (931, true), (944, true), (948, true), (952, true), (953, true), (970, true), (977, true), (984, true), (988, true), (62, true), (65, true), (67, true), (129, true), (160, true), (186, true), (187, true), (202, true), (204, true), (258, true), (555, true), (567, true), (755, true), (758, true), (764, true), (774, true), (902, true), (923, true), (929, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(415, 491), items: [429, 481, 482, 483], want_response: false }, ItemSet { range: Range(491, 513), items: [491, 493, 511], want_response: false }, ItemSet { range: Range(513, 527), items: [513, 517, 518, 525], want_response: false }, ItemSet { range: Range(527, 543), items: [527, 529, 531], want_response: false }, ItemSet { range: Range(543, 555), items: [], want_response: false }, ItemSet { range: Range(678, 717), items: [685, 711, 712], want_response: false }], wants: [391, 393, 401, 731, 738, 821, 823, 830, 843, 876, 881, 415, 433, 506, 538, 542, 543, 678], provide: [(18, true), (22, true), (25, true), (63, true), (108, true), (122, true), (142, true), (164, true), (172, true), (177, true), (180, true), (195, true), (196, true), (206, true), (208, true), (253, true), (266, true), (272, true), (275, true), (574, true), (762, true), (763, true), (771, true), (772, true), (890, true), (897, true), (916, true), (927, true), (395, true), (717, true), (732, true), (787, true), (832, true), (851, true), (861, true), (884, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [429, 481, 482, 483, 491, 493, 511, 513, 517, 518, 525, 527, 529, 531, 685, 711, 712], provide: [(391, true), (393, true), (401, true), (731, true), (738, true), (821, true), (823, true), (830, true), (843, true), (876, true), (881, true), (415, true), (433, true), (506, true), (538, true), (542, true), (543, true), (678, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(429, true), (481, true), (482, true), (483, true), (491, true), (493, true), (511, true), (513, true), (517, true), (518, true), (525, true), (527, true), (529, true), (531, true), (685, true), (711, true), (712, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {18, 22, 25, 63, 108, 122, 142, 164, 172, 177, 180, 195, 196, 206, 208, 253, 266, 272, 275, 277, 295, 355, 395, 429, 481, 482, 483, 491, 493, 511, 513, 517, 518, 525, 527, 529, 531, 574, 587, 605, 615, 675, 685, 711, 712, 717, 732, 762, 763, 771, 772, 787, 832, 851, 861, 884, 890, 897, 916, 927, 946, 968, 992, 999} + [5, 10, 278, 283, 291, 294, 314, 319, 326, 331, 350, 374, 375, 583, 602, 618, 645, 660, 669, 931, 944, 948, 952, 953, 970, 977, 984, 988, 62, 65, 67, 129, 160, 186, 187, 202, 204, 258, 555, 567, 755, 758, 764, 774, 902, 923, 929, 391, 393, 401, 731, 738, 821, 823, 830, 843, 876, 881, 415, 433, 506, 538, 542, 543, 678] [INFO] [stdout] b all: {5, 10, 62, 65, 67, 129, 160, 186, 187, 202, 204, 258, 278, 283, 291, 294, 314, 319, 326, 331, 350, 374, 375, 391, 393, 401, 415, 433, 506, 538, 542, 543, 555, 567, 583, 587, 602, 618, 645, 660, 669, 678, 731, 738, 755, 758, 764, 774, 821, 823, 830, 843, 876, 881, 902, 923, 929, 931, 944, 948, 952, 953, 970, 977, 984, 988} + [277, 295, 355, 605, 615, 675, 946, 968, 992, 999, 18, 22, 25, 63, 108, 122, 142, 164, 172, 177, 180, 195, 196, 206, 208, 253, 266, 272, 275, 574, 762, 763, 771, 772, 890, 897, 916, 927, 395, 717, 732, 787, 832, 851, 861, 884, 429, 481, 482, 483, 491, 493, 511, 513, 517, 518, 525, 527, 529, 531, 685, 711, 712] [INFO] [stdout] [INFO] [stdout] all vec: [5, 10, 18, 22, 25, 62, 63, 65, 67, 108, 122, 129, 142, 160, 164, 172, 177, 180, 186, 187, 195, 196, 202, 204, 206, 208, 253, 258, 266, 272, 275, 277, 278, 283, 291, 294, 295, 314, 319, 326, 331, 350, 355, 374, 375, 391, 393, 395, 401, 415, 429, 433, 481, 482, 483, 491, 493, 506, 511, 513, 517, 518, 525, 527, 529, 531, 538, 542, 543, 555, 567, 574, 583, 587, 602, 605, 615, 618, 645, 660, 669, 675, 678, 685, 711, 712, 717, 731, 732, 738, 755, 758, 762, 763, 764, 771, 772, 774, 787, 821, 823, 830, 832, 843, 851, 861, 876, 881, 884, 890, 897, 902, 916, 923, 927, 929, 931, 944, 946, 948, 952, 953, 968, 970, 977, 984, 988, 992, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 10, 18, 22, 25, 62, 63, 65, 67, 108, 122, 129, 142, 160, 164, 172, 177, 180, 186, 187, 195, 196, 202, 204, 206, 208, 253, 258, 266, 272, 275, 277, 278, 283, 291, 294, 295, 314, 319, 326, 331, 350, 355, 374, 375, 391, 393, 395, 401, 415, 429, 433, 481, 482, 483, 491, 493, 506, 511, 513, 517, 518, 525, 527, 529, 531, 538, 542, 543, 555, 567, 574, 583, 587, 602, 605, 615, 618, 645, 660, 669, 675, 678, 685, 711, 712, 717, 731, 732, 738, 755, 758, 762, 763, 764, 771, 772, 774, 787, 821, 823, 830, 832, 843, 851, 861, 876, 881, 884, 890, 897, 902, 916, 923, 927, 929, 931, 944, 946, 948, 952, 953, 968, 970, 977, 984, 988, 992, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 10, 18, 22, 25, 62, 63, 65, 67, 108, 122, 129, 142, 160, 164, 172, 177, 180, 186, 187, 195, 196, 202, 204, 206, 208, 253, 258, 266, 272, 275, 277, 278, 283, 291, 294, 295, 314, 319, 326, 331, 350, 355, 374, 375, 391, 393, 395, 401, 415, 429, 433, 481, 482, 483, 491, 493, 506, 511, 513, 517, 518, 525, 527, 529, 531, 538, 542, 543, 555, 567, 574, 583, 587, 602, 605, 615, 618, 645, 660, 669, 675, 678, 685, 711, 712, 717, 731, 732, 738, 755, 758, 762, 763, 764, 771, 772, 774, 787, 821, 823, 830, 832, 843, 851, 861, 876, 881, 884, 890, 897, 902, 916, 923, 927, 929, 931, 944, 946, 948, 952, 953, 968, 970, 977, 984, 988, 992, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {3, 10, 11, 39, 54, 87, 109, 127, 134, 145, 153, 162, 172, 177, 183, 216, 238, 248, 252, 270, 285, 297, 300, 303, 318, 319, 361, 373, 380, 394, 399, 421, 436, 443, 457, 481, 493, 536, 545, 553, 568, 573, 597, 607, 623, 639, 642, 660, 663, 664, 690, 702, 709, 752, 774, 783, 789, 798, 811, 849, 868, 869, 877, 880, 887, 946, 952, 970, 975, 979, 998} [INFO] [stdout] b items: {3, 13, 18, 29, 39, 98, 122, 136, 139, 146, 147, 158, 232, 263, 329, 339, 350, 368, 376, 395, 444, 499, 500, 548, 558, 620, 645, 676, 689, 719, 749, 752, 780, 800, 815, 845, 890, 909, 981} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 999), fp: EncodedCountingMonoid(71, SumMonoid(34978)) }], 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, 444), fp: EncodedCountingMonoid(20, SumMonoid(3700)) }, Fingerprint { range: Range(444, 999), fp: EncodedCountingMonoid(19, SumMonoid(13419)) }], 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, 248), fp: EncodedCountingMonoid(17, SumMonoid(2020)) }, Fingerprint { range: Range(248, 444), fp: EncodedCountingMonoid(17, SumMonoid(5799)) }, Fingerprint { range: Range(444, 752), fp: EncodedCountingMonoid(19, SumMonoid(11402)) }, Fingerprint { range: Range(752, 999), fp: EncodedCountingMonoid(18, SumMonoid(15757)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 136), fp: EncodedCountingMonoid(7, SumMonoid(322)) }, Fingerprint { range: Range(136, 248), fp: EncodedCountingMonoid(6, SumMonoid(958)) }, Fingerprint { range: Range(248, 368), fp: EncodedCountingMonoid(4, SumMonoid(1281)) }, Fingerprint { range: Range(368, 444), fp: EncodedCountingMonoid(3, SumMonoid(1139)) }, Fingerprint { range: Range(444, 645), fp: EncodedCountingMonoid(6, SumMonoid(3169)) }, Fingerprint { range: Range(645, 752), fp: EncodedCountingMonoid(5, SumMonoid(3478)) }, Fingerprint { range: Range(752, 845), fp: EncodedCountingMonoid(4, SumMonoid(3147)) }, Fingerprint { range: Range(845, 999), fp: EncodedCountingMonoid(4, SumMonoid(3625)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(3, 87), fp: EncodedCountingMonoid(5, SumMonoid(117)) }, Fingerprint { range: Range(87, 136), fp: EncodedCountingMonoid(4, SumMonoid(457)) }, Fingerprint { range: Range(136, 177), fp: EncodedCountingMonoid(4, SumMonoid(632)) }, Fingerprint { range: Range(177, 248), fp: EncodedCountingMonoid(4, SumMonoid(814)) }, Fingerprint { range: Range(248, 300), fp: EncodedCountingMonoid(5, SumMonoid(1352)) }, Fingerprint { range: Range(300, 368), fp: EncodedCountingMonoid(5, SumMonoid(1601)) }, Fingerprint { range: Range(368, 421), fp: EncodedCountingMonoid(4, SumMonoid(1546)) }, Fingerprint { range: Range(421, 444), fp: EncodedCountingMonoid(3, SumMonoid(1300)) }, Fingerprint { range: Range(444, 573), fp: EncodedCountingMonoid(7, SumMonoid(3633)) }, Fingerprint { range: Range(573, 645), fp: EncodedCountingMonoid(6, SumMonoid(3681)) }, Fingerprint { range: Range(645, 690), fp: EncodedCountingMonoid(3, SumMonoid(1987)) }, Fingerprint { range: Range(690, 752), fp: EncodedCountingMonoid(3, SumMonoid(2101)) }, Fingerprint { range: Range(752, 789), fp: EncodedCountingMonoid(3, SumMonoid(2309)) }, Fingerprint { range: Range(789, 845), fp: EncodedCountingMonoid(3, SumMonoid(2398)) }, Fingerprint { range: Range(845, 946), fp: EncodedCountingMonoid(6, SumMonoid(5230)) }, Fingerprint { range: Range(946, 999), fp: EncodedCountingMonoid(6, SumMonoid(5820)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(3, 29), fp: EncodedCountingMonoid(3, SumMonoid(34)) }, Fingerprint { range: Range(136, 147), fp: EncodedCountingMonoid(3, SumMonoid(421)) }, Fingerprint { range: Range(444, 548), fp: EncodedCountingMonoid(3, SumMonoid(1443)) }], item_sets: [ItemSet { range: Range(29, 87), items: [29, 39], want_response: true }, ItemSet { range: Range(87, 136), items: [98, 122], want_response: true }, ItemSet { range: Range(147, 177), items: [147, 158], want_response: true }, ItemSet { range: Range(177, 248), items: [232], want_response: true }, ItemSet { range: Range(248, 300), items: [263], want_response: true }, ItemSet { range: Range(300, 350), items: [329, 339], want_response: true }, ItemSet { range: Range(350, 368), items: [350], want_response: true }, ItemSet { range: Range(368, 395), items: [368, 376], want_response: true }, ItemSet { range: Range(395, 421), items: [395], want_response: true }, ItemSet { range: Range(421, 444), items: [], want_response: true }, ItemSet { range: Range(548, 573), items: [548, 558], want_response: true }, ItemSet { range: Range(573, 645), items: [620], want_response: true }, ItemSet { range: Range(645, 689), items: [645, 676], want_response: true }, ItemSet { range: Range(689, 690), items: [689], want_response: true }, ItemSet { range: Range(690, 752), items: [719, 749], want_response: true }, ItemSet { range: Range(752, 789), items: [752, 780], want_response: true }, ItemSet { range: Range(789, 845), items: [800, 815], want_response: true }, ItemSet { range: Range(845, 909), items: [845, 890], want_response: true }, ItemSet { range: Range(909, 946), items: [909], want_response: true }, ItemSet { range: Range(946, 999), items: [981], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(444, 536), fp: EncodedCountingMonoid(3, SumMonoid(1431)) }], item_sets: [ItemSet { range: Range(29, 87), items: [39, 54], want_response: false }, ItemSet { range: Range(87, 136), items: [87, 109, 127, 134], want_response: false }, ItemSet { range: Range(147, 177), items: [153, 162, 172], want_response: false }, ItemSet { range: Range(177, 248), items: [177, 183, 216, 238], want_response: false }, ItemSet { range: Range(248, 300), items: [248, 252, 270, 285, 297], want_response: false }, ItemSet { range: Range(300, 350), items: [300, 303, 318, 319], want_response: false }, ItemSet { range: Range(350, 368), items: [361], want_response: false }, ItemSet { range: Range(368, 395), items: [373, 380, 394], want_response: false }, ItemSet { range: Range(395, 421), items: [399], want_response: false }, ItemSet { range: Range(421, 444), items: [421, 436, 443], want_response: false }, ItemSet { range: Range(548, 573), items: [553, 568], want_response: false }, ItemSet { range: Range(573, 645), items: [573, 597, 607, 623, 639, 642], want_response: false }, ItemSet { range: Range(645, 689), items: [660, 663, 664], want_response: false }, ItemSet { range: Range(689, 690), items: [], want_response: false }, ItemSet { range: Range(690, 752), items: [690, 702, 709], want_response: false }, ItemSet { range: Range(752, 789), items: [752, 774, 783], want_response: false }, ItemSet { range: Range(789, 845), items: [789, 798, 811], want_response: false }, ItemSet { range: Range(845, 909), items: [849, 868, 869, 877, 880, 887], want_response: false }, ItemSet { range: Range(909, 946), items: [], want_response: false }, ItemSet { range: Range(946, 999), items: [946, 952, 970, 975, 979, 998], want_response: false }, ItemSet { range: Range(3, 11), items: [3, 10], want_response: true }, ItemSet { range: Range(11, 29), items: [11], want_response: true }, ItemSet { range: Range(136, 147), items: [145], want_response: true }, ItemSet { range: Range(536, 548), items: [536, 545], want_response: true }], wants: [29, 98, 122, 147, 158, 232, 263, 329, 339, 350, 368, 376, 395, 548, 558, 620, 645, 676, 689, 719, 749, 780, 800, 815, 845, 890, 909, 981], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(3, 11), items: [3], want_response: false }, ItemSet { range: Range(11, 29), items: [13, 18], want_response: false }, ItemSet { range: Range(136, 147), items: [136, 139, 146], want_response: false }, ItemSet { range: Range(536, 548), items: [], want_response: false }, ItemSet { range: Range(444, 500), items: [444, 499], want_response: true }, ItemSet { range: Range(500, 536), items: [500], want_response: true }], wants: [54, 87, 109, 127, 134, 153, 162, 172, 177, 183, 216, 238, 248, 252, 270, 285, 297, 300, 303, 318, 319, 361, 373, 380, 394, 399, 421, 436, 443, 553, 568, 573, 597, 607, 623, 639, 642, 660, 663, 664, 690, 702, 709, 774, 783, 789, 798, 811, 849, 868, 869, 877, 880, 887, 946, 952, 970, 975, 979, 998, 10, 11, 145, 536, 545], provide: [(29, true), (98, true), (122, true), (147, true), (158, true), (232, true), (263, true), (329, true), (339, true), (350, true), (368, true), (376, true), (395, true), (548, true), (558, true), (620, true), (645, true), (676, true), (689, true), (719, true), (749, true), (780, true), (800, true), (815, true), (845, true), (890, true), (909, true), (981, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(444, 500), items: [457, 481, 493], want_response: false }, ItemSet { range: Range(500, 536), items: [], want_response: false }], wants: [13, 18, 136, 139, 146, 444, 499, 500], provide: [(54, true), (87, true), (109, true), (127, true), (134, true), (153, true), (162, true), (172, true), (177, true), (183, true), (216, true), (238, true), (248, true), (252, true), (270, true), (285, true), (297, true), (300, true), (303, true), (318, true), (319, true), (361, true), (373, true), (380, true), (394, true), (399, true), (421, true), (436, true), (443, true), (553, true), (568, true), (573, true), (597, true), (607, true), (623, true), (639, true), (642, true), (660, true), (663, true), (664, true), (690, true), (702, true), (709, true), (774, true), (783, true), (789, true), (798, true), (811, true), (849, true), (868, true), (869, true), (877, true), (880, true), (887, true), (946, true), (952, true), (970, true), (975, true), (979, true), (998, true), (10, true), (11, true), (145, true), (536, true), (545, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [457, 481, 493], provide: [(13, true), (18, true), (136, true), (139, true), (146, true), (444, true), (499, true), (500, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(457, true), (481, true), (493, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {3, 10, 11, 39, 54, 87, 109, 127, 134, 145, 153, 162, 172, 177, 183, 216, 238, 248, 252, 270, 285, 297, 300, 303, 318, 319, 361, 373, 380, 394, 399, 421, 436, 443, 457, 481, 493, 536, 545, 553, 568, 573, 597, 607, 623, 639, 642, 660, 663, 664, 690, 702, 709, 752, 774, 783, 789, 798, 811, 849, 868, 869, 877, 880, 887, 946, 952, 970, 975, 979, 998} + [29, 98, 122, 147, 158, 232, 263, 329, 339, 350, 368, 376, 395, 548, 558, 620, 645, 676, 689, 719, 749, 780, 800, 815, 845, 890, 909, 981, 13, 18, 136, 139, 146, 444, 499, 500] [INFO] [stdout] b all: {3, 13, 18, 29, 39, 98, 122, 136, 139, 146, 147, 158, 232, 263, 329, 339, 350, 368, 376, 395, 444, 499, 500, 548, 558, 620, 645, 676, 689, 719, 749, 752, 780, 800, 815, 845, 890, 909, 981} + [54, 87, 109, 127, 134, 153, 162, 172, 177, 183, 216, 238, 248, 252, 270, 285, 297, 300, 303, 318, 319, 361, 373, 380, 394, 399, 421, 436, 443, 553, 568, 573, 597, 607, 623, 639, 642, 660, 663, 664, 690, 702, 709, 774, 783, 789, 798, 811, 849, 868, 869, 877, 880, 887, 946, 952, 970, 975, 979, 998, 10, 11, 145, 536, 545, 457, 481, 493] [INFO] [stdout] [INFO] [stdout] all vec: [3, 10, 11, 13, 18, 29, 39, 54, 87, 98, 109, 122, 127, 134, 136, 139, 145, 146, 147, 153, 158, 162, 172, 177, 183, 216, 232, 238, 248, 252, 263, 270, 285, 297, 300, 303, 318, 319, 329, 339, 350, 361, 368, 373, 376, 380, 394, 395, 399, 421, 436, 443, 444, 457, 481, 493, 499, 500, 536, 545, 548, 553, 558, 568, 573, 597, 607, 620, 623, 639, 642, 645, 660, 663, 664, 676, 689, 690, 702, 709, 719, 749, 752, 774, 780, 783, 789, 798, 800, 811, 815, 845, 849, 868, 869, 877, 880, 887, 890, 909, 946, 952, 970, 975, 979, 981, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 10, 11, 13, 18, 29, 39, 54, 87, 98, 109, 122, 127, 134, 136, 139, 145, 146, 147, 153, 158, 162, 172, 177, 183, 216, 232, 238, 248, 252, 263, 270, 285, 297, 300, 303, 318, 319, 329, 339, 350, 361, 368, 373, 376, 380, 394, 395, 399, 421, 436, 443, 444, 457, 481, 493, 499, 500, 536, 545, 548, 553, 558, 568, 573, 597, 607, 620, 623, 639, 642, 645, 660, 663, 664, 676, 689, 690, 702, 709, 719, 749, 752, 774, 780, 783, 789, 798, 800, 811, 815, 845, 849, 868, 869, 877, 880, 887, 890, 909, 946, 952, 970, 975, 979, 981, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 10, 11, 13, 18, 29, 39, 54, 87, 98, 109, 122, 127, 134, 136, 139, 145, 146, 147, 153, 158, 162, 172, 177, 183, 216, 232, 238, 248, 252, 263, 270, 285, 297, 300, 303, 318, 319, 329, 339, 350, 361, 368, 373, 376, 380, 394, 395, 399, 421, 436, 443, 444, 457, 481, 493, 499, 500, 536, 545, 548, 553, 558, 568, 573, 597, 607, 620, 623, 639, 642, 645, 660, 663, 664, 676, 689, 690, 702, 709, 719, 749, 752, 774, 780, 783, 789, 798, 800, 811, 815, 845, 849, 868, 869, 877, 880, 887, 890, 909, 946, 952, 970, 975, 979, 981, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {50, 109, 150, 173, 291, 447, 460, 564, 571, 736, 860, 902, 936} [INFO] [stdout] b items: {5, 42, 59, 86, 94, 116, 135, 138, 207, 237, 239, 246, 253, 272, 274, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 449, 455, 492, 501, 530, 531, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 762, 779, 788, 879, 893, 908, 938, 976, 978} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(50, 937), fp: EncodedCountingMonoid(13, SumMonoid(6249)) }], item_sets: [ItemSet { range: Range(937, 50), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(50, 449), fp: EncodedCountingMonoid(23, SumMonoid(5883)) }, Fingerprint { range: Range(449, 937), fp: EncodedCountingMonoid(22, SumMonoid(14494)) }], item_sets: [ItemSet { range: Range(937, 50), items: [938, 976, 978, 5, 42], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(50, 173), fp: EncodedCountingMonoid(3, SumMonoid(309)) }, Fingerprint { range: Range(173, 449), fp: EncodedCountingMonoid(3, SumMonoid(911)) }, Fingerprint { range: Range(449, 860), fp: EncodedCountingMonoid(4, SumMonoid(2331)) }, Fingerprint { range: Range(860, 937), fp: EncodedCountingMonoid(3, SumMonoid(2698)) }], item_sets: [], wants: [938, 976, 978, 5, 42], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(50, 116), fp: EncodedCountingMonoid(3, SumMonoid(239)) }, Fingerprint { range: Range(116, 173), fp: EncodedCountingMonoid(3, SumMonoid(389)) }, Fingerprint { range: Range(173, 316), fp: EncodedCountingMonoid(9, SumMonoid(2348)) }, Fingerprint { range: Range(316, 449), fp: EncodedCountingMonoid(8, SumMonoid(2907)) }, Fingerprint { range: Range(449, 626), fp: EncodedCountingMonoid(10, SumMonoid(5347)) }, Fingerprint { range: Range(626, 860), fp: EncodedCountingMonoid(9, SumMonoid(6467)) }], item_sets: [ItemSet { range: Range(860, 908), items: [879, 893], want_response: true }, ItemSet { range: Range(908, 937), items: [908], want_response: true }], wants: [], provide: [(938, true), (976, true), (978, true), (5, true), (42, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(860, 908), items: [860, 902], want_response: false }, ItemSet { range: Range(908, 937), items: [936], want_response: false }, ItemSet { range: Range(50, 116), items: [50, 109], want_response: true }, ItemSet { range: Range(116, 173), items: [150], want_response: true }, ItemSet { range: Range(173, 316), items: [173, 291], want_response: true }, ItemSet { range: Range(316, 449), items: [447], want_response: true }, ItemSet { range: Range(449, 571), items: [460, 564], want_response: true }, ItemSet { range: Range(571, 626), items: [571], want_response: true }, ItemSet { range: Range(626, 860), items: [736], want_response: true }], wants: [879, 893, 908], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(50, 116), items: [59, 86, 94], want_response: false }, ItemSet { range: Range(116, 173), items: [116, 135, 138], want_response: false }, ItemSet { range: Range(173, 316), items: [207, 237, 239, 246, 253, 272, 274, 307, 313], want_response: false }, ItemSet { range: Range(316, 449), items: [316, 324, 331, 343, 357, 376, 429, 431], want_response: false }, ItemSet { range: Range(449, 571), items: [449, 455, 492, 501, 530, 531], want_response: false }, ItemSet { range: Range(571, 626), items: [582, 589, 601, 617], want_response: false }, ItemSet { range: Range(626, 860), items: [626, 671, 673, 706, 730, 732, 762, 779, 788], want_response: false }], wants: [860, 902, 936, 50, 109, 150, 173, 291, 447, 460, 564, 571, 736], provide: [(879, true), (893, true), (908, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [59, 86, 94, 116, 135, 138, 207, 237, 239, 246, 253, 272, 274, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 449, 455, 492, 501, 530, 531, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 762, 779, 788], provide: [(860, true), (902, true), (936, true), (50, true), (109, true), (150, true), (173, true), (291, true), (447, true), (460, true), (564, true), (571, true), (736, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(59, true), (86, true), (94, true), (116, true), (135, true), (138, true), (207, true), (237, true), (239, true), (246, true), (253, true), (272, true), (274, true), (307, true), (313, true), (316, true), (324, true), (331, true), (343, true), (357, true), (376, true), (429, true), (431, true), (449, true), (455, true), (492, true), (501, true), (530, true), (531, true), (582, true), (589, true), (601, true), (617, true), (626, true), (671, true), (673, true), (706, true), (730, true), (732, true), (762, true), (779, true), (788, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {50, 109, 150, 173, 291, 447, 460, 564, 571, 736, 860, 902, 936} + [938, 976, 978, 5, 42, 879, 893, 908, 59, 86, 94, 116, 135, 138, 207, 237, 239, 246, 253, 272, 274, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 449, 455, 492, 501, 530, 531, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 762, 779, 788] [INFO] [stdout] b all: {5, 42, 59, 86, 94, 116, 135, 138, 207, 237, 239, 246, 253, 272, 274, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 449, 455, 492, 501, 530, 531, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 762, 779, 788, 879, 893, 908, 938, 976, 978} + [860, 902, 936, 50, 109, 150, 173, 291, 447, 460, 564, 571, 736] [INFO] [stdout] [INFO] [stdout] all vec: [5, 42, 50, 59, 86, 94, 109, 116, 135, 138, 150, 173, 207, 237, 239, 246, 253, 272, 274, 291, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 447, 449, 455, 460, 492, 501, 530, 531, 564, 571, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 736, 762, 779, 788, 860, 879, 893, 902, 908, 936, 938, 976, 978] [INFO] [stdout] [INFO] [stdout] a all vec: [5, 42, 50, 59, 86, 94, 109, 116, 135, 138, 150, 173, 207, 237, 239, 246, 253, 272, 274, 291, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 447, 449, 455, 460, 492, 501, 530, 531, 564, 571, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 736, 762, 779, 788, 860, 879, 893, 902, 908, 936, 938, 976, 978], true true [INFO] [stdout] [INFO] [stdout] b all vec: [5, 42, 50, 59, 86, 94, 109, 116, 135, 138, 150, 173, 207, 237, 239, 246, 253, 272, 274, 291, 307, 313, 316, 324, 331, 343, 357, 376, 429, 431, 447, 449, 455, 460, 492, 501, 530, 531, 564, 571, 582, 589, 601, 617, 626, 671, 673, 706, 730, 732, 736, 762, 779, 788, 860, 879, 893, 902, 908, 936, 938, 976, 978], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {1, 60, 131, 187, 325, 571, 606, 645, 683, 751, 791, 808, 822, 960} [INFO] [stdout] b items: {158, 237, 304, 348, 412, 443, 455, 544, 598, 693, 735, 894, 908} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 961), fp: EncodedCountingMonoid(14, SumMonoid(7341)) }], item_sets: [ItemSet { range: Range(961, 1), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(1, 544), fp: EncodedCountingMonoid(7, SumMonoid(2357)) }, Fingerprint { range: Range(544, 961), fp: EncodedCountingMonoid(6, SumMonoid(4372)) }], item_sets: [ItemSet { range: Range(961, 1), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(1, 187), fp: EncodedCountingMonoid(3, SumMonoid(192)) }, Fingerprint { range: Range(544, 791), fp: EncodedCountingMonoid(5, SumMonoid(3256)) }, Fingerprint { range: Range(791, 961), fp: EncodedCountingMonoid(4, SumMonoid(3381)) }], item_sets: [ItemSet { range: Range(187, 544), items: [187, 325], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(187, 544), items: [237, 304, 348, 412, 443, 455], want_response: false }, ItemSet { range: Range(1, 187), items: [158], want_response: true }, ItemSet { range: Range(544, 693), items: [544, 598], want_response: true }, ItemSet { range: Range(693, 791), items: [693, 735], want_response: true }, ItemSet { range: Range(791, 961), items: [894, 908], want_response: true }], wants: [187, 325], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(1, 187), items: [1, 60, 131], want_response: false }, ItemSet { range: Range(544, 693), items: [571, 606, 645, 683], want_response: false }, ItemSet { range: Range(693, 791), items: [751], want_response: false }, ItemSet { range: Range(791, 961), items: [791, 808, 822, 960], want_response: false }], wants: [237, 304, 348, 412, 443, 455, 158, 544, 598, 693, 735, 894, 908], provide: [(187, true), (325, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [1, 60, 131, 571, 606, 645, 683, 751, 791, 808, 822, 960], provide: [(237, true), (304, true), (348, true), (412, true), (443, true), (455, true), (158, true), (544, true), (598, true), (693, true), (735, true), (894, true), (908, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(1, true), (60, true), (131, true), (571, true), (606, true), (645, true), (683, true), (751, true), (791, true), (808, true), (822, true), (960, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {1, 60, 131, 187, 325, 571, 606, 645, 683, 751, 791, 808, 822, 960} + [237, 304, 348, 412, 443, 455, 158, 544, 598, 693, 735, 894, 908] [INFO] [stdout] b all: {158, 237, 304, 348, 412, 443, 455, 544, 598, 693, 735, 894, 908} + [187, 325, 1, 60, 131, 571, 606, 645, 683, 751, 791, 808, 822, 960] [INFO] [stdout] [INFO] [stdout] all vec: [1, 60, 131, 158, 187, 237, 304, 325, 348, 412, 443, 455, 544, 571, 598, 606, 645, 683, 693, 735, 751, 791, 808, 822, 894, 908, 960] [INFO] [stdout] [INFO] [stdout] a all vec: [1, 60, 131, 158, 187, 237, 304, 325, 348, 412, 443, 455, 544, 571, 598, 606, 645, 683, 693, 735, 751, 791, 808, 822, 894, 908, 960], true true [INFO] [stdout] [INFO] [stdout] b all vec: [1, 60, 131, 158, 187, 237, 304, 325, 348, 412, 443, 455, 544, 571, 598, 606, 645, 683, 693, 735, 751, 791, 808, 822, 894, 908, 960], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {22, 44, 53, 65, 67, 167, 171, 217, 285, 306, 317, 337, 438, 441, 480, 511, 518, 576, 603, 621, 624, 669, 671, 674, 743, 755, 771, 815, 823, 835, 920, 930, 931, 941, 944} [INFO] [stdout] b items: {22, 82, 90, 105, 116, 119, 129, 142, 145, 157, 201, 229, 233, 276, 287, 300, 307, 422, 429, 430, 502, 536, 553, 649, 652, 699, 714, 737, 741, 771, 776, 777, 811, 879, 881, 938, 945, 947, 970} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 945), fp: EncodedCountingMonoid(35, SumMonoid(18285)) }], item_sets: [ItemSet { range: Range(945, 22), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 429), fp: EncodedCountingMonoid(18, SumMonoid(3362)) }, Fingerprint { range: Range(429, 945), fp: EncodedCountingMonoid(18, SumMonoid(12475)) }], item_sets: [ItemSet { range: Range(945, 22), items: [945, 947, 970], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 171), fp: EncodedCountingMonoid(6, SumMonoid(418)) }, Fingerprint { range: Range(171, 429), fp: EncodedCountingMonoid(6, SumMonoid(1633)) }, Fingerprint { range: Range(429, 743), fp: EncodedCountingMonoid(12, SumMonoid(6826)) }, Fingerprint { range: Range(743, 945), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [], wants: [945, 947, 970], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(22, 119), fp: EncodedCountingMonoid(5, SumMonoid(415)) }, Fingerprint { range: Range(119, 171), fp: EncodedCountingMonoid(5, SumMonoid(692)) }, Fingerprint { range: Range(171, 287), fp: EncodedCountingMonoid(4, SumMonoid(939)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(4, SumMonoid(1316)) }, Fingerprint { range: Range(429, 652), fp: EncodedCountingMonoid(6, SumMonoid(3099)) }, Fingerprint { range: Range(652, 743), fp: EncodedCountingMonoid(5, SumMonoid(3543)) }, Fingerprint { range: Range(743, 879), fp: EncodedCountingMonoid(4, SumMonoid(3135)) }, Fingerprint { range: Range(879, 945), fp: EncodedCountingMonoid(3, SumMonoid(2698)) }], item_sets: [], wants: [], provide: [(945, true), (947, true), (970, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(22, 65), fp: EncodedCountingMonoid(3, SumMonoid(119)) }, Fingerprint { range: Range(429, 576), fp: EncodedCountingMonoid(5, SumMonoid(2388)) }, Fingerprint { range: Range(576, 652), fp: EncodedCountingMonoid(4, SumMonoid(2424)) }, Fingerprint { range: Range(743, 815), fp: EncodedCountingMonoid(3, SumMonoid(2269)) }, Fingerprint { range: Range(815, 879), fp: EncodedCountingMonoid(3, SumMonoid(2473)) }, Fingerprint { range: Range(879, 941), fp: EncodedCountingMonoid(3, SumMonoid(2781)) }], item_sets: [ItemSet { range: Range(65, 119), items: [65, 67], want_response: true }, ItemSet { range: Range(119, 171), items: [167], want_response: true }, ItemSet { range: Range(171, 285), items: [171, 217], want_response: true }, ItemSet { range: Range(285, 287), items: [285], want_response: true }, ItemSet { range: Range(287, 337), items: [306, 317], want_response: true }, ItemSet { range: Range(337, 429), items: [337], want_response: true }, ItemSet { range: Range(652, 674), items: [669, 671], want_response: true }, ItemSet { range: Range(674, 743), items: [674], want_response: true }, ItemSet { range: Range(941, 945), items: [941, 944], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(429, 536), fp: EncodedCountingMonoid(3, SumMonoid(1361)) }], item_sets: [ItemSet { range: Range(65, 119), items: [82, 90, 105, 116], want_response: false }, ItemSet { range: Range(119, 171), items: [119, 129, 142, 145, 157], want_response: false }, ItemSet { range: Range(171, 285), items: [201, 229, 233, 276], want_response: false }, ItemSet { range: Range(285, 287), items: [], want_response: false }, ItemSet { range: Range(287, 337), items: [287, 300, 307], want_response: false }, ItemSet { range: Range(337, 429), items: [422], want_response: false }, ItemSet { range: Range(652, 674), items: [652], want_response: false }, ItemSet { range: Range(674, 743), items: [699, 714, 737, 741], want_response: false }, ItemSet { range: Range(941, 945), items: [], want_response: false }, ItemSet { range: Range(22, 65), items: [22], want_response: true }, ItemSet { range: Range(536, 576), items: [536, 553], want_response: true }, ItemSet { range: Range(576, 652), items: [649], want_response: true }, ItemSet { range: Range(743, 777), items: [771, 776], want_response: true }, ItemSet { range: Range(777, 815), items: [777, 811], want_response: true }, ItemSet { range: Range(815, 879), items: [], want_response: true }, ItemSet { range: Range(879, 938), items: [879, 881], want_response: true }, ItemSet { range: Range(938, 941), items: [938], want_response: true }], wants: [65, 67, 167, 171, 217, 285, 306, 317, 337, 669, 671, 674, 941, 944], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(429, 511), fp: EncodedCountingMonoid(3, SumMonoid(1359)) }], item_sets: [ItemSet { range: Range(22, 65), items: [22, 44, 53], want_response: false }, ItemSet { range: Range(536, 576), items: [], want_response: false }, ItemSet { range: Range(576, 652), items: [576, 603, 621, 624], want_response: false }, ItemSet { range: Range(743, 777), items: [743, 755, 771], want_response: false }, ItemSet { range: Range(777, 815), items: [], want_response: false }, ItemSet { range: Range(815, 879), items: [815, 823, 835], want_response: false }, ItemSet { range: Range(879, 938), items: [920, 930, 931], want_response: false }, ItemSet { range: Range(938, 941), items: [], want_response: false }, ItemSet { range: Range(511, 536), items: [511, 518], want_response: true }], wants: [82, 90, 105, 116, 119, 129, 142, 145, 157, 201, 229, 233, 276, 287, 300, 307, 422, 652, 699, 714, 737, 741, 536, 553, 649, 776, 777, 811, 879, 881, 938], provide: [(65, true), (67, true), (167, true), (171, true), (217, true), (285, true), (306, true), (317, true), (337, true), (669, true), (671, true), (674, true), (941, true), (944, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(511, 536), items: [], want_response: false }, ItemSet { range: Range(429, 502), items: [429, 430], want_response: true }, ItemSet { range: Range(502, 511), items: [502], want_response: true }], wants: [44, 53, 576, 603, 621, 624, 743, 755, 815, 823, 835, 920, 930, 931, 511, 518], provide: [(82, true), (90, true), (105, true), (116, true), (119, true), (129, true), (142, true), (145, true), (157, true), (201, true), (229, true), (233, true), (276, true), (287, true), (300, true), (307, true), (422, true), (652, true), (699, true), (714, true), (737, true), (741, true), (536, true), (553, true), (649, true), (776, true), (777, true), (811, true), (879, true), (881, true), (938, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(429, 502), items: [438, 441, 480], want_response: false }, ItemSet { range: Range(502, 511), items: [], want_response: false }], wants: [429, 430, 502], provide: [(44, true), (53, true), (576, true), (603, true), (621, true), (624, true), (743, true), (755, true), (815, true), (823, true), (835, true), (920, true), (930, true), (931, true), (511, true), (518, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [438, 441, 480], provide: [(429, true), (430, true), (502, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(438, true), (441, true), (480, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {22, 44, 53, 65, 67, 167, 171, 217, 285, 306, 317, 337, 438, 441, 480, 511, 518, 576, 603, 621, 624, 669, 671, 674, 743, 755, 771, 815, 823, 835, 920, 930, 931, 941, 944} + [945, 947, 970, 82, 90, 105, 116, 119, 129, 142, 145, 157, 201, 229, 233, 276, 287, 300, 307, 422, 652, 699, 714, 737, 741, 536, 553, 649, 776, 777, 811, 879, 881, 938, 429, 430, 502] [INFO] [stdout] b all: {22, 82, 90, 105, 116, 119, 129, 142, 145, 157, 201, 229, 233, 276, 287, 300, 307, 422, 429, 430, 502, 536, 553, 649, 652, 699, 714, 737, 741, 771, 776, 777, 811, 879, 881, 938, 945, 947, 970} + [65, 67, 167, 171, 217, 285, 306, 317, 337, 669, 671, 674, 941, 944, 44, 53, 576, 603, 621, 624, 743, 755, 815, 823, 835, 920, 930, 931, 511, 518, 438, 441, 480] [INFO] [stdout] [INFO] [stdout] all vec: [22, 44, 53, 65, 67, 82, 90, 105, 116, 119, 129, 142, 145, 157, 167, 171, 201, 217, 229, 233, 276, 285, 287, 300, 306, 307, 317, 337, 422, 429, 430, 438, 441, 480, 502, 511, 518, 536, 553, 576, 603, 621, 624, 649, 652, 669, 671, 674, 699, 714, 737, 741, 743, 755, 771, 776, 777, 811, 815, 823, 835, 879, 881, 920, 930, 931, 938, 941, 944, 945, 947, 970] [INFO] [stdout] [INFO] [stdout] a all vec: [22, 44, 53, 65, 67, 82, 90, 105, 116, 119, 129, 142, 145, 157, 167, 171, 201, 217, 229, 233, 276, 285, 287, 300, 306, 307, 317, 337, 422, 429, 430, 438, 441, 480, 502, 511, 518, 536, 553, 576, 603, 621, 624, 649, 652, 669, 671, 674, 699, 714, 737, 741, 743, 755, 771, 776, 777, 811, 815, 823, 835, 879, 881, 920, 930, 931, 938, 941, 944, 945, 947, 970], true true [INFO] [stdout] [INFO] [stdout] b all vec: [22, 44, 53, 65, 67, 82, 90, 105, 116, 119, 129, 142, 145, 157, 167, 171, 201, 217, 229, 233, 276, 285, 287, 300, 306, 307, 317, 337, 422, 429, 430, 438, 441, 480, 502, 511, 518, 536, 553, 576, 603, 621, 624, 649, 652, 669, 671, 674, 699, 714, 737, 741, 743, 755, 771, 776, 777, 811, 815, 823, 835, 879, 881, 920, 930, 931, 938, 941, 944, 945, 947, 970], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {50, 51, 65, 77, 113, 116, 119, 143, 154, 157, 182, 187, 190, 214, 241, 245, 267, 288, 317, 330, 333, 335, 350, 419, 425, 426, 443, 463, 476, 480, 499, 520, 540, 548, 581, 598, 612, 625, 658, 668, 704, 710, 713, 755, 773, 777, 811, 821, 858, 870, 872, 876, 882, 889, 927, 933, 950, 954, 959, 988, 989, 994} [INFO] [stdout] b items: {26, 54, 91, 164, 255, 272, 298, 307, 335, 350, 484, 538, 539, 565, 569, 717, 870, 885, 929, 968, 972, 984} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(50, 995), fp: EncodedCountingMonoid(62, SumMonoid(32510)) }], item_sets: [ItemSet { range: Range(995, 50), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(50, 539), fp: EncodedCountingMonoid(11, SumMonoid(3148)) }, Fingerprint { range: Range(539, 995), fp: EncodedCountingMonoid(10, SumMonoid(7998)) }], item_sets: [ItemSet { range: Range(995, 50), items: [26], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(50, 267), fp: EncodedCountingMonoid(16, SumMonoid(2304)) }, Fingerprint { range: Range(267, 539), fp: EncodedCountingMonoid(16, SumMonoid(6371)) }, Fingerprint { range: Range(539, 821), fp: EncodedCountingMonoid(15, SumMonoid(10073)) }, Fingerprint { range: Range(821, 995), fp: EncodedCountingMonoid(15, SumMonoid(13762)) }], item_sets: [], wants: [26], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(267, 350), fp: EncodedCountingMonoid(4, SumMonoid(1212)) }, Fingerprint { range: Range(350, 539), fp: EncodedCountingMonoid(3, SumMonoid(1372)) }, Fingerprint { range: Range(821, 968), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(968, 995), fp: EncodedCountingMonoid(3, SumMonoid(2924)) }], item_sets: [ItemSet { range: Range(50, 164), items: [54, 91], want_response: true }, ItemSet { range: Range(164, 267), items: [164, 255], want_response: true }, ItemSet { range: Range(539, 569), items: [539, 565], want_response: true }, ItemSet { range: Range(569, 821), items: [569, 717], want_response: true }], wants: [], provide: [(26, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(267, 330), fp: EncodedCountingMonoid(3, SumMonoid(872)) }, Fingerprint { range: Range(330, 350), fp: EncodedCountingMonoid(3, SumMonoid(998)) }, Fingerprint { range: Range(350, 463), fp: EncodedCountingMonoid(5, SumMonoid(2063)) }, Fingerprint { range: Range(463, 539), fp: EncodedCountingMonoid(5, SumMonoid(2438)) }, Fingerprint { range: Range(821, 889), fp: EncodedCountingMonoid(6, SumMonoid(5179)) }, Fingerprint { range: Range(889, 968), fp: EncodedCountingMonoid(6, SumMonoid(5612)) }], item_sets: [ItemSet { range: Range(50, 164), items: [50, 51, 65, 77, 113, 116, 119, 143, 154, 157], want_response: false }, ItemSet { range: Range(164, 267), items: [182, 187, 190, 214, 241, 245], want_response: false }, ItemSet { range: Range(539, 569), items: [540, 548], want_response: false }, ItemSet { range: Range(569, 821), items: [581, 598, 612, 625, 658, 668, 704, 710, 713, 755, 773, 777, 811], want_response: false }, ItemSet { range: Range(968, 994), items: [988, 989], want_response: true }, ItemSet { range: Range(994, 995), items: [994], want_response: true }], wants: [54, 91, 164, 255, 539, 565, 569, 717], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(968, 994), items: [968, 972, 984], want_response: false }, ItemSet { range: Range(994, 995), items: [], want_response: false }, ItemSet { range: Range(267, 307), items: [272, 298], want_response: true }, ItemSet { range: Range(307, 330), items: [307], want_response: true }, ItemSet { range: Range(330, 350), items: [335], want_response: true }, ItemSet { range: Range(350, 463), items: [350], want_response: true }, ItemSet { range: Range(463, 539), items: [484, 538], want_response: true }, ItemSet { range: Range(821, 889), items: [870, 885], want_response: true }, ItemSet { range: Range(889, 968), items: [929], want_response: true }], wants: [50, 51, 65, 77, 113, 116, 119, 143, 154, 157, 182, 187, 190, 214, 241, 245, 540, 548, 581, 598, 612, 625, 658, 668, 704, 710, 713, 755, 773, 777, 811, 988, 989, 994], provide: [(54, true), (91, true), (164, true), (255, true), (539, true), (565, true), (569, true), (717, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(267, 307), items: [267, 288], want_response: false }, ItemSet { range: Range(307, 330), items: [317], want_response: false }, ItemSet { range: Range(330, 350), items: [330, 333, 335], want_response: false }, ItemSet { range: Range(350, 463), items: [350, 419, 425, 426, 443], want_response: false }, ItemSet { range: Range(463, 539), items: [463, 476, 480, 499, 520], want_response: false }, ItemSet { range: Range(821, 889), items: [821, 858, 870, 872, 876, 882], want_response: false }, ItemSet { range: Range(889, 968), items: [889, 927, 933, 950, 954, 959], want_response: false }], wants: [968, 972, 984, 272, 298, 307, 484, 538, 885, 929], provide: [(50, true), (51, true), (65, true), (77, true), (113, true), (116, true), (119, true), (143, true), (154, true), (157, true), (182, true), (187, true), (190, true), (214, true), (241, true), (245, true), (540, true), (548, true), (581, true), (598, true), (612, true), (625, true), (658, true), (668, true), (704, true), (710, true), (713, true), (755, true), (773, true), (777, true), (811, true), (988, true), (989, true), (994, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [267, 288, 317, 330, 333, 419, 425, 426, 443, 463, 476, 480, 499, 520, 821, 858, 872, 876, 882, 889, 927, 933, 950, 954, 959], provide: [(968, true), (972, true), (984, true), (272, true), (298, true), (307, true), (484, true), (538, true), (885, true), (929, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(267, true), (288, true), (317, true), (330, true), (333, true), (419, true), (425, true), (426, true), (443, true), (463, true), (476, true), (480, true), (499, true), (520, true), (821, true), (858, true), (872, true), (876, true), (882, true), (889, true), (927, true), (933, true), (950, true), (954, true), (959, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {50, 51, 65, 77, 113, 116, 119, 143, 154, 157, 182, 187, 190, 214, 241, 245, 267, 288, 317, 330, 333, 335, 350, 419, 425, 426, 443, 463, 476, 480, 499, 520, 540, 548, 581, 598, 612, 625, 658, 668, 704, 710, 713, 755, 773, 777, 811, 821, 858, 870, 872, 876, 882, 889, 927, 933, 950, 954, 959, 988, 989, 994} + [26, 54, 91, 164, 255, 539, 565, 569, 717, 968, 972, 984, 272, 298, 307, 484, 538, 885, 929] [INFO] [stdout] b all: {26, 54, 91, 164, 255, 272, 298, 307, 335, 350, 484, 538, 539, 565, 569, 717, 870, 885, 929, 968, 972, 984} + [50, 51, 65, 77, 113, 116, 119, 143, 154, 157, 182, 187, 190, 214, 241, 245, 540, 548, 581, 598, 612, 625, 658, 668, 704, 710, 713, 755, 773, 777, 811, 988, 989, 994, 267, 288, 317, 330, 333, 419, 425, 426, 443, 463, 476, 480, 499, 520, 821, 858, 872, 876, 882, 889, 927, 933, 950, 954, 959] [INFO] [stdout] [INFO] [stdout] all vec: [26, 50, 51, 54, 65, 77, 91, 113, 116, 119, 143, 154, 157, 164, 182, 187, 190, 214, 241, 245, 255, 267, 272, 288, 298, 307, 317, 330, 333, 335, 350, 419, 425, 426, 443, 463, 476, 480, 484, 499, 520, 538, 539, 540, 548, 565, 569, 581, 598, 612, 625, 658, 668, 704, 710, 713, 717, 755, 773, 777, 811, 821, 858, 870, 872, 876, 882, 885, 889, 927, 929, 933, 950, 954, 959, 968, 972, 984, 988, 989, 994] [INFO] [stdout] [INFO] [stdout] a all vec: [26, 50, 51, 54, 65, 77, 91, 113, 116, 119, 143, 154, 157, 164, 182, 187, 190, 214, 241, 245, 255, 267, 272, 288, 298, 307, 317, 330, 333, 335, 350, 419, 425, 426, 443, 463, 476, 480, 484, 499, 520, 538, 539, 540, 548, 565, 569, 581, 598, 612, 625, 658, 668, 704, 710, 713, 717, 755, 773, 777, 811, 821, 858, 870, 872, 876, 882, 885, 889, 927, 929, 933, 950, 954, 959, 968, 972, 984, 988, 989, 994], true true [INFO] [stdout] [INFO] [stdout] b all vec: [26, 50, 51, 54, 65, 77, 91, 113, 116, 119, 143, 154, 157, 164, 182, 187, 190, 214, 241, 245, 255, 267, 272, 288, 298, 307, 317, 330, 333, 335, 350, 419, 425, 426, 443, 463, 476, 480, 484, 499, 520, 538, 539, 540, 548, 565, 569, 581, 598, 612, 625, 658, 668, 704, 710, 713, 717, 755, 773, 777, 811, 821, 858, 870, 872, 876, 882, 885, 889, 927, 929, 933, 950, 954, 959, 968, 972, 984, 988, 989, 994], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {10, 19, 37, 54, 77, 109, 124, 126, 127, 149, 162, 166, 215, 216, 221, 222, 225, 234, 285, 305, 308, 362, 421, 422, 426, 467, 468, 475, 482, 487, 488, 505, 527, 535, 548, 549, 563, 564, 571, 573, 580, 596, 614, 625, 671, 682, 688, 778, 783, 792, 810, 813, 816, 818, 828, 833, 835, 836, 900, 907, 943, 944, 980} [INFO] [stdout] b items: {10, 11, 25, 37, 42, 44, 50, 56, 70, 94, 112, 122, 125, 140, 187, 206, 256, 286, 301, 330, 335, 341, 342, 364, 381, 402, 423, 424, 444, 447, 454, 458, 467, 481, 498, 526, 528, 530, 561, 567, 569, 578, 601, 610, 631, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 680, 686, 689, 692, 698, 702, 709, 719, 730, 735, 743, 756, 758, 761, 773, 775, 778, 790, 795, 799, 809, 818, 820, 823, 833, 846, 849, 865, 879, 899, 919, 937, 971, 980, 992, 999} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 981), fp: EncodedCountingMonoid(63, SumMonoid(30896)) }], item_sets: [ItemSet { range: Range(981, 10), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 635), fp: EncodedCountingMonoid(45, SumMonoid(14466)) }, Fingerprint { range: Range(635, 981), fp: EncodedCountingMonoid(44, SumMonoid(33536)) }], item_sets: [ItemSet { range: Range(981, 10), items: [992, 999], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 421), fp: EncodedCountingMonoid(22, SumMonoid(3753)) }, Fingerprint { range: Range(421, 635), fp: EncodedCountingMonoid(22, SumMonoid(11486)) }, Fingerprint { range: Range(635, 828), fp: EncodedCountingMonoid(10, SumMonoid(7651)) }, Fingerprint { range: Range(828, 981), fp: EncodedCountingMonoid(9, SumMonoid(8006)) }], item_sets: [], wants: [992, 999], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 140), fp: EncodedCountingMonoid(13, SumMonoid(798)) }, Fingerprint { range: Range(140, 421), fp: EncodedCountingMonoid(13, SumMonoid(3871)) }, Fingerprint { range: Range(421, 528), fp: EncodedCountingMonoid(10, SumMonoid(4622)) }, Fingerprint { range: Range(528, 635), fp: EncodedCountingMonoid(9, SumMonoid(5175)) }, Fingerprint { range: Range(635, 719), fp: EncodedCountingMonoid(17, SumMonoid(11376)) }, Fingerprint { range: Range(719, 828), fp: EncodedCountingMonoid(17, SumMonoid(13182)) }, Fingerprint { range: Range(828, 899), fp: EncodedCountingMonoid(5, SumMonoid(4272)) }, Fingerprint { range: Range(899, 981), fp: EncodedCountingMonoid(5, SumMonoid(4706)) }], item_sets: [], wants: [], provide: [(992, true), (999, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(10, 109), fp: EncodedCountingMonoid(5, SumMonoid(197)) }, Fingerprint { range: Range(109, 140), fp: EncodedCountingMonoid(4, SumMonoid(486)) }, Fingerprint { range: Range(140, 225), fp: EncodedCountingMonoid(7, SumMonoid(1351)) }, Fingerprint { range: Range(225, 421), fp: EncodedCountingMonoid(6, SumMonoid(1719)) }, Fingerprint { range: Range(421, 482), fp: EncodedCountingMonoid(6, SumMonoid(2679)) }, Fingerprint { range: Range(482, 528), fp: EncodedCountingMonoid(5, SumMonoid(2489)) }, Fingerprint { range: Range(528, 573), fp: EncodedCountingMonoid(6, SumMonoid(3330)) }, Fingerprint { range: Range(573, 635), fp: EncodedCountingMonoid(5, SumMonoid(2988)) }, Fingerprint { range: Range(719, 813), fp: EncodedCountingMonoid(4, SumMonoid(3163)) }, Fingerprint { range: Range(813, 828), fp: EncodedCountingMonoid(3, SumMonoid(2447)) }, Fingerprint { range: Range(899, 944), fp: EncodedCountingMonoid(3, SumMonoid(2750)) }], item_sets: [ItemSet { range: Range(635, 688), items: [671, 682], want_response: true }, ItemSet { range: Range(688, 719), items: [688], want_response: true }, ItemSet { range: Range(828, 835), items: [828, 833], want_response: true }, ItemSet { range: Range(835, 899), items: [835, 836], want_response: true }, ItemSet { range: Range(944, 981), items: [944, 980], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(10, 44), fp: EncodedCountingMonoid(5, SumMonoid(125)) }, Fingerprint { range: Range(44, 109), fp: EncodedCountingMonoid(5, SumMonoid(314)) }, Fingerprint { range: Range(225, 341), fp: EncodedCountingMonoid(5, SumMonoid(1508)) }, Fingerprint { range: Range(341, 421), fp: EncodedCountingMonoid(5, SumMonoid(1830)) }, Fingerprint { range: Range(421, 454), fp: EncodedCountingMonoid(4, SumMonoid(1738)) }, Fingerprint { range: Range(454, 482), fp: EncodedCountingMonoid(4, SumMonoid(1860)) }, Fingerprint { range: Range(528, 567), fp: EncodedCountingMonoid(3, SumMonoid(1619)) }, Fingerprint { range: Range(719, 773), fp: EncodedCountingMonoid(7, SumMonoid(5202)) }, Fingerprint { range: Range(773, 813), fp: EncodedCountingMonoid(7, SumMonoid(5519)) }], item_sets: [ItemSet { range: Range(635, 688), items: [635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 680, 686], want_response: false }, ItemSet { range: Range(688, 719), items: [689, 692, 698, 702, 709], want_response: false }, ItemSet { range: Range(828, 835), items: [833], want_response: false }, ItemSet { range: Range(835, 899), items: [846, 849, 865, 879], want_response: false }, ItemSet { range: Range(944, 981), items: [971, 980], want_response: false }, ItemSet { range: Range(109, 125), items: [112, 122], want_response: true }, ItemSet { range: Range(125, 140), items: [125], want_response: true }, ItemSet { range: Range(140, 206), items: [140, 187], want_response: true }, ItemSet { range: Range(206, 225), items: [206], want_response: true }, ItemSet { range: Range(482, 528), items: [498, 526], want_response: true }, ItemSet { range: Range(567, 573), items: [567, 569], want_response: true }, ItemSet { range: Range(573, 610), items: [578, 601], want_response: true }, ItemSet { range: Range(610, 635), items: [610, 631], want_response: true }, ItemSet { range: Range(813, 823), items: [818, 820], want_response: true }, ItemSet { range: Range(823, 828), items: [823], want_response: true }, ItemSet { range: Range(899, 937), items: [899, 919], want_response: true }, ItemSet { range: Range(937, 944), items: [937], want_response: true }], wants: [671, 682, 688, 828, 835, 836, 944], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(225, 305), fp: EncodedCountingMonoid(3, SumMonoid(744)) }, Fingerprint { range: Range(528, 563), fp: EncodedCountingMonoid(3, SumMonoid(1632)) }], item_sets: [ItemSet { range: Range(109, 125), items: [109, 124], want_response: false }, ItemSet { range: Range(125, 140), items: [126, 127], want_response: false }, ItemSet { range: Range(140, 206), items: [149, 162, 166], want_response: false }, ItemSet { range: Range(206, 225), items: [215, 216, 221, 222], want_response: false }, ItemSet { range: Range(482, 528), items: [482, 487, 488, 505, 527], want_response: false }, ItemSet { range: Range(567, 573), items: [571], want_response: false }, ItemSet { range: Range(573, 610), items: [573, 580, 596], want_response: false }, ItemSet { range: Range(610, 635), items: [614, 625], want_response: false }, ItemSet { range: Range(813, 823), items: [813, 816, 818], want_response: false }, ItemSet { range: Range(823, 828), items: [], want_response: false }, ItemSet { range: Range(899, 937), items: [900, 907], want_response: false }, ItemSet { range: Range(937, 944), items: [943], want_response: false }, ItemSet { range: Range(10, 37), items: [10, 19], want_response: true }, ItemSet { range: Range(37, 44), items: [37], want_response: true }, ItemSet { range: Range(44, 109), items: [54, 77], want_response: true }, ItemSet { range: Range(305, 341), items: [305, 308], want_response: true }, ItemSet { range: Range(341, 421), items: [362], want_response: true }, ItemSet { range: Range(421, 426), items: [421, 422], want_response: true }, ItemSet { range: Range(426, 454), items: [426], want_response: true }, ItemSet { range: Range(454, 475), items: [467, 468], want_response: true }, ItemSet { range: Range(475, 482), items: [475], want_response: true }, ItemSet { range: Range(563, 567), items: [563, 564], want_response: true }, ItemSet { range: Range(719, 773), items: [], want_response: true }, ItemSet { range: Range(773, 792), items: [778, 783], want_response: true }, ItemSet { range: Range(792, 813), items: [792, 810], want_response: true }], wants: [635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 680, 686, 689, 692, 698, 702, 709, 846, 849, 865, 879, 971, 112, 122, 125, 140, 187, 206, 498, 526, 567, 569, 578, 601, 610, 631, 820, 823, 899, 919, 937], provide: [(671, true), (682, true), (688, true), (828, true), (835, true), (836, true), (944, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(10, 37), items: [10, 11, 25], want_response: false }, ItemSet { range: Range(37, 44), items: [37, 42], want_response: false }, ItemSet { range: Range(44, 109), items: [44, 50, 56, 70, 94], want_response: false }, ItemSet { range: Range(305, 341), items: [330, 335], want_response: false }, ItemSet { range: Range(341, 421), items: [341, 342, 364, 381, 402], want_response: false }, ItemSet { range: Range(421, 426), items: [423, 424], want_response: false }, ItemSet { range: Range(426, 454), items: [444, 447], want_response: false }, ItemSet { range: Range(454, 475), items: [454, 458, 467], want_response: false }, ItemSet { range: Range(475, 482), items: [481], want_response: false }, ItemSet { range: Range(563, 567), items: [], want_response: false }, ItemSet { range: Range(719, 773), items: [719, 730, 735, 743, 756, 758, 761], want_response: false }, ItemSet { range: Range(773, 792), items: [773, 775, 778, 790], want_response: false }, ItemSet { range: Range(792, 813), items: [795, 799, 809], want_response: false }, ItemSet { range: Range(225, 301), items: [256, 286], want_response: true }, ItemSet { range: Range(301, 305), items: [301], want_response: true }, ItemSet { range: Range(528, 561), items: [528, 530], want_response: true }, ItemSet { range: Range(561, 563), items: [561], want_response: true }], wants: [109, 124, 126, 127, 149, 162, 166, 215, 216, 221, 222, 482, 487, 488, 505, 527, 571, 573, 580, 596, 614, 625, 813, 816, 900, 907, 943, 19, 54, 77, 305, 308, 362, 421, 422, 426, 468, 475, 563, 564, 783, 792, 810], provide: [(635, true), (642, true), (645, true), (646, true), (648, true), (651, true), (656, true), (662, true), (666, true), (669, true), (680, true), (686, true), (689, true), (692, true), (698, true), (702, true), (709, true), (846, true), (849, true), (865, true), (879, true), (971, true), (112, true), (122, true), (125, true), (140, true), (187, true), (206, true), (498, true), (526, true), (567, true), (569, true), (578, true), (601, true), (610, true), (631, true), (820, true), (823, true), (899, true), (919, true), (937, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(225, 301), items: [225, 234, 285], want_response: false }, ItemSet { range: Range(301, 305), items: [], want_response: false }, ItemSet { range: Range(528, 561), items: [535, 548, 549], want_response: false }, ItemSet { range: Range(561, 563), items: [], want_response: false }], wants: [11, 25, 42, 44, 50, 56, 70, 94, 330, 335, 341, 342, 364, 381, 402, 423, 424, 444, 447, 454, 458, 481, 719, 730, 735, 743, 756, 758, 761, 773, 775, 790, 795, 799, 809, 256, 286, 301, 528, 530, 561], provide: [(109, true), (124, true), (126, true), (127, true), (149, true), (162, true), (166, true), (215, true), (216, true), (221, true), (222, true), (482, true), (487, true), (488, true), (505, true), (527, true), (571, true), (573, true), (580, true), (596, true), (614, true), (625, true), (813, true), (816, true), (900, true), (907, true), (943, true), (19, true), (54, true), (77, true), (305, true), (308, true), (362, true), (421, true), (422, true), (426, true), (468, true), (475, true), (563, true), (564, true), (783, true), (792, true), (810, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [225, 234, 285, 535, 548, 549], provide: [(11, true), (25, true), (42, true), (44, true), (50, true), (56, true), (70, true), (94, true), (330, true), (335, true), (341, true), (342, true), (364, true), (381, true), (402, true), (423, true), (424, true), (444, true), (447, true), (454, true), (458, true), (481, true), (719, true), (730, true), (735, true), (743, true), (756, true), (758, true), (761, true), (773, true), (775, true), (790, true), (795, true), (799, true), (809, true), (256, true), (286, true), (301, true), (528, true), (530, true), (561, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(225, true), (234, true), (285, true), (535, true), (548, true), (549, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {10, 19, 37, 54, 77, 109, 124, 126, 127, 149, 162, 166, 215, 216, 221, 222, 225, 234, 285, 305, 308, 362, 421, 422, 426, 467, 468, 475, 482, 487, 488, 505, 527, 535, 548, 549, 563, 564, 571, 573, 580, 596, 614, 625, 671, 682, 688, 778, 783, 792, 810, 813, 816, 818, 828, 833, 835, 836, 900, 907, 943, 944, 980} + [992, 999, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 680, 686, 689, 692, 698, 702, 709, 846, 849, 865, 879, 971, 112, 122, 125, 140, 187, 206, 498, 526, 567, 569, 578, 601, 610, 631, 820, 823, 899, 919, 937, 11, 25, 42, 44, 50, 56, 70, 94, 330, 335, 341, 342, 364, 381, 402, 423, 424, 444, 447, 454, 458, 481, 719, 730, 735, 743, 756, 758, 761, 773, 775, 790, 795, 799, 809, 256, 286, 301, 528, 530, 561] [INFO] [stdout] b all: {10, 11, 25, 37, 42, 44, 50, 56, 70, 94, 112, 122, 125, 140, 187, 206, 256, 286, 301, 330, 335, 341, 342, 364, 381, 402, 423, 424, 444, 447, 454, 458, 467, 481, 498, 526, 528, 530, 561, 567, 569, 578, 601, 610, 631, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 680, 686, 689, 692, 698, 702, 709, 719, 730, 735, 743, 756, 758, 761, 773, 775, 778, 790, 795, 799, 809, 818, 820, 823, 833, 846, 849, 865, 879, 899, 919, 937, 971, 980, 992, 999} + [671, 682, 688, 828, 835, 836, 944, 109, 124, 126, 127, 149, 162, 166, 215, 216, 221, 222, 482, 487, 488, 505, 527, 571, 573, 580, 596, 614, 625, 813, 816, 900, 907, 943, 19, 54, 77, 305, 308, 362, 421, 422, 426, 468, 475, 563, 564, 783, 792, 810, 225, 234, 285, 535, 548, 549] [INFO] [stdout] [INFO] [stdout] all vec: [10, 11, 19, 25, 37, 42, 44, 50, 54, 56, 70, 77, 94, 109, 112, 122, 124, 125, 126, 127, 140, 149, 162, 166, 187, 206, 215, 216, 221, 222, 225, 234, 256, 285, 286, 301, 305, 308, 330, 335, 341, 342, 362, 364, 381, 402, 421, 422, 423, 424, 426, 444, 447, 454, 458, 467, 468, 475, 481, 482, 487, 488, 498, 505, 526, 527, 528, 530, 535, 548, 549, 561, 563, 564, 567, 569, 571, 573, 578, 580, 596, 601, 610, 614, 625, 631, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 671, 680, 682, 686, 688, 689, 692, 698, 702, 709, 719, 730, 735, 743, 756, 758, 761, 773, 775, 778, 783, 790, 792, 795, 799, 809, 810, 813, 816, 818, 820, 823, 828, 833, 835, 836, 846, 849, 865, 879, 899, 900, 907, 919, 937, 943, 944, 971, 980, 992, 999] [INFO] [stdout] [INFO] [stdout] a all vec: [10, 11, 19, 25, 37, 42, 44, 50, 54, 56, 70, 77, 94, 109, 112, 122, 124, 125, 126, 127, 140, 149, 162, 166, 187, 206, 215, 216, 221, 222, 225, 234, 256, 285, 286, 301, 305, 308, 330, 335, 341, 342, 362, 364, 381, 402, 421, 422, 423, 424, 426, 444, 447, 454, 458, 467, 468, 475, 481, 482, 487, 488, 498, 505, 526, 527, 528, 530, 535, 548, 549, 561, 563, 564, 567, 569, 571, 573, 578, 580, 596, 601, 610, 614, 625, 631, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 671, 680, 682, 686, 688, 689, 692, 698, 702, 709, 719, 730, 735, 743, 756, 758, 761, 773, 775, 778, 783, 790, 792, 795, 799, 809, 810, 813, 816, 818, 820, 823, 828, 833, 835, 836, 846, 849, 865, 879, 899, 900, 907, 919, 937, 943, 944, 971, 980, 992, 999], true true [INFO] [stdout] [INFO] [stdout] b all vec: [10, 11, 19, 25, 37, 42, 44, 50, 54, 56, 70, 77, 94, 109, 112, 122, 124, 125, 126, 127, 140, 149, 162, 166, 187, 206, 215, 216, 221, 222, 225, 234, 256, 285, 286, 301, 305, 308, 330, 335, 341, 342, 362, 364, 381, 402, 421, 422, 423, 424, 426, 444, 447, 454, 458, 467, 468, 475, 481, 482, 487, 488, 498, 505, 526, 527, 528, 530, 535, 548, 549, 561, 563, 564, 567, 569, 571, 573, 578, 580, 596, 601, 610, 614, 625, 631, 635, 642, 645, 646, 648, 651, 656, 662, 666, 669, 671, 680, 682, 686, 688, 689, 692, 698, 702, 709, 719, 730, 735, 743, 756, 758, 761, 773, 775, 778, 783, 790, 792, 795, 799, 809, 810, 813, 816, 818, 820, 823, 828, 833, 835, 836, 846, 849, 865, 879, 899, 900, 907, 919, 937, 943, 944, 971, 980, 992, 999], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {166, 415, 440, 464, 683, 706, 958} [INFO] [stdout] b items: {20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 421, 428, 434, 438, 444, 450, 451, 462, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 689, 699, 700, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952, 962, 972, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(166, 959), fp: EncodedCountingMonoid(7, SumMonoid(3832)) }], item_sets: [ItemSet { range: Range(959, 166), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(166, 563), fp: EncodedCountingMonoid(35, SumMonoid(13996)) }, Fingerprint { range: Range(563, 959), fp: EncodedCountingMonoid(35, SumMonoid(26376)) }], item_sets: [ItemSet { range: Range(959, 166), items: [962, 972, 991, 20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(166, 440), items: [166, 415], want_response: true }, ItemSet { range: Range(440, 563), items: [440, 464], want_response: true }, ItemSet { range: Range(563, 958), items: [683, 706], want_response: true }, ItemSet { range: Range(958, 959), items: [958], want_response: true }], wants: [962, 972, 991, 20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(166, 440), items: [186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 421, 428, 434, 438], want_response: false }, ItemSet { range: Range(440, 563), items: [444, 450, 451, 462, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544], want_response: false }, ItemSet { range: Range(563, 958), items: [563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 689, 699, 700, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952], want_response: false }, ItemSet { range: Range(958, 959), items: [], want_response: false }], wants: [166, 415, 440, 464, 683, 706, 958], provide: [(962, true), (972, true), (991, true), (20, true), (24, true), (32, true), (35, true), (42, true), (46, true), (57, true), (67, true), (69, true), (72, true), (80, true), (82, true), (88, true), (100, true), (111, true), (128, true), (142, true), (156, true), (157, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 421, 428, 434, 438, 444, 450, 451, 462, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 689, 699, 700, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952], provide: [(166, true), (415, true), (440, true), (464, true), (683, true), (706, true), (958, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(186, true), (189, true), (191, true), (271, true), (294, true), (300, true), (309, true), (315, true), (331, true), (343, true), (348, true), (361, true), (370, true), (378, true), (381, true), (385, true), (421, true), (428, true), (434, true), (438, true), (444, true), (450, true), (451, true), (462, true), (467, true), (477, true), (480, true), (481, true), (484, true), (506, true), (507, true), (513, true), (524, true), (533, true), (544, true), (563, true), (577, true), (580, true), (581, true), (583, true), (589, true), (592, true), (638, true), (646, true), (651, true), (689, true), (699, true), (700, true), (715, true), (725, true), (729, true), (744, true), (748, true), (760, true), (776, true), (780, true), (803, true), (816, true), (828, true), (852, true), (855, true), (858, true), (859, true), (870, true), (886, true), (910, true), (923, true), (948, true), (951, true), (952, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {166, 415, 440, 464, 683, 706, 958} + [962, 972, 991, 20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 421, 428, 434, 438, 444, 450, 451, 462, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 689, 699, 700, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952] [INFO] [stdout] b all: {20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 421, 428, 434, 438, 444, 450, 451, 462, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 689, 699, 700, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952, 962, 972, 991} + [166, 415, 440, 464, 683, 706, 958] [INFO] [stdout] [INFO] [stdout] all vec: [20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 166, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 415, 421, 428, 434, 438, 440, 444, 450, 451, 462, 464, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 683, 689, 699, 700, 706, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952, 958, 962, 972, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 166, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 415, 421, 428, 434, 438, 440, 444, 450, 451, 462, 464, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 683, 689, 699, 700, 706, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952, 958, 962, 972, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [20, 24, 32, 35, 42, 46, 57, 67, 69, 72, 80, 82, 88, 100, 111, 128, 142, 156, 157, 166, 186, 189, 191, 271, 294, 300, 309, 315, 331, 343, 348, 361, 370, 378, 381, 385, 415, 421, 428, 434, 438, 440, 444, 450, 451, 462, 464, 467, 477, 480, 481, 484, 506, 507, 513, 524, 533, 544, 563, 577, 580, 581, 583, 589, 592, 638, 646, 651, 683, 689, 699, 700, 706, 715, 725, 729, 744, 748, 760, 776, 780, 803, 816, 828, 852, 855, 858, 859, 870, 886, 910, 923, 948, 951, 952, 958, 962, 972, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {11, 22, 43, 55, 81, 84, 145, 152, 161, 179, 181, 186, 206, 282, 287, 307, 309, 321, 335, 341, 363, 371, 378, 382, 424, 425, 428, 444, 469, 548, 552, 553, 560, 568, 594, 625, 629, 677, 690, 695, 712, 737, 740, 752, 756, 761, 766, 799, 831, 838, 839, 842, 888, 930, 936, 937, 948, 950, 997, 998} [INFO] [stdout] b items: {30, 36, 63, 99, 126, 130, 214, 223, 239, 255, 267, 329, 349, 353, 354, 359, 366, 375, 423, 449, 455, 523, 560, 593, 616, 624, 711, 721, 725, 729, 730, 736, 772, 795, 816, 820, 822, 823, 874, 894, 905, 907, 920, 967} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 999), fp: EncodedCountingMonoid(60, SumMonoid(31020)) }], item_sets: [ItemSet { range: Range(999, 11), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 560), fp: EncodedCountingMonoid(22, SumMonoid(6017)) }, Fingerprint { range: Range(560, 999), fp: EncodedCountingMonoid(22, SumMonoid(17060)) }], item_sets: [ItemSet { range: Range(999, 11), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 309), fp: EncodedCountingMonoid(16, SumMonoid(2382)) }, Fingerprint { range: Range(309, 560), fp: EncodedCountingMonoid(16, SumMonoid(6643)) }, Fingerprint { range: Range(560, 766), fp: EncodedCountingMonoid(14, SumMonoid(9496)) }, Fingerprint { range: Range(766, 999), fp: EncodedCountingMonoid(14, SumMonoid(12499)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 214), fp: EncodedCountingMonoid(6, SumMonoid(484)) }, Fingerprint { range: Range(214, 309), fp: EncodedCountingMonoid(5, SumMonoid(1198)) }, Fingerprint { range: Range(309, 375), fp: EncodedCountingMonoid(6, SumMonoid(2110)) }, Fingerprint { range: Range(375, 560), fp: EncodedCountingMonoid(5, SumMonoid(2225)) }, Fingerprint { range: Range(560, 721), fp: EncodedCountingMonoid(5, SumMonoid(3104)) }, Fingerprint { range: Range(721, 766), fp: EncodedCountingMonoid(5, SumMonoid(3641)) }, Fingerprint { range: Range(766, 874), fp: EncodedCountingMonoid(6, SumMonoid(4848)) }, Fingerprint { range: Range(874, 999), fp: EncodedCountingMonoid(6, SumMonoid(5467)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 152), fp: EncodedCountingMonoid(7, SumMonoid(441)) }, Fingerprint { range: Range(152, 214), fp: EncodedCountingMonoid(6, SumMonoid(1065)) }, Fingerprint { range: Range(309, 341), fp: EncodedCountingMonoid(3, SumMonoid(965)) }, Fingerprint { range: Range(341, 375), fp: EncodedCountingMonoid(3, SumMonoid(1075)) }, Fingerprint { range: Range(375, 444), fp: EncodedCountingMonoid(5, SumMonoid(2037)) }, Fingerprint { range: Range(444, 560), fp: EncodedCountingMonoid(5, SumMonoid(2566)) }, Fingerprint { range: Range(560, 677), fp: EncodedCountingMonoid(5, SumMonoid(2976)) }, Fingerprint { range: Range(677, 721), fp: EncodedCountingMonoid(4, SumMonoid(2774)) }, Fingerprint { range: Range(721, 756), fp: EncodedCountingMonoid(3, SumMonoid(2229)) }, Fingerprint { range: Range(766, 838), fp: EncodedCountingMonoid(3, SumMonoid(2396)) }, Fingerprint { range: Range(838, 874), fp: EncodedCountingMonoid(3, SumMonoid(2519)) }, Fingerprint { range: Range(874, 948), fp: EncodedCountingMonoid(4, SumMonoid(3691)) }, Fingerprint { range: Range(948, 999), fp: EncodedCountingMonoid(4, SumMonoid(3893)) }], item_sets: [ItemSet { range: Range(214, 307), items: [282, 287], want_response: true }, ItemSet { range: Range(307, 309), items: [307], want_response: true }, ItemSet { range: Range(756, 766), items: [756, 761], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(11, 99), fp: EncodedCountingMonoid(3, SumMonoid(129)) }, Fingerprint { range: Range(99, 152), fp: EncodedCountingMonoid(3, SumMonoid(355)) }, Fingerprint { range: Range(341, 359), fp: EncodedCountingMonoid(3, SumMonoid(1056)) }, Fingerprint { range: Range(721, 730), fp: EncodedCountingMonoid(3, SumMonoid(2175)) }, Fingerprint { range: Range(766, 820), fp: EncodedCountingMonoid(3, SumMonoid(2383)) }, Fingerprint { range: Range(820, 838), fp: EncodedCountingMonoid(3, SumMonoid(2465)) }, Fingerprint { range: Range(874, 907), fp: EncodedCountingMonoid(3, SumMonoid(2673)) }], item_sets: [ItemSet { range: Range(214, 307), items: [214, 223, 239, 255, 267], want_response: false }, ItemSet { range: Range(307, 309), items: [], want_response: false }, ItemSet { range: Range(756, 766), items: [], want_response: false }, ItemSet { range: Range(152, 214), items: [], want_response: true }, ItemSet { range: Range(309, 341), items: [329], want_response: true }, ItemSet { range: Range(359, 375), items: [359, 366], want_response: true }, ItemSet { range: Range(375, 444), items: [375, 423], want_response: true }, ItemSet { range: Range(444, 523), items: [449, 455], want_response: true }, ItemSet { range: Range(523, 560), items: [523], want_response: true }, ItemSet { range: Range(560, 616), items: [560, 593], want_response: true }, ItemSet { range: Range(616, 677), items: [616, 624], want_response: true }, ItemSet { range: Range(677, 721), items: [711], want_response: true }, ItemSet { range: Range(730, 756), items: [730, 736], want_response: true }, ItemSet { range: Range(838, 874), items: [], want_response: true }, ItemSet { range: Range(907, 948), items: [907, 920], want_response: true }, ItemSet { range: Range(948, 999), items: [967], want_response: true }], wants: [282, 287, 307, 756, 761], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(11, 55), fp: EncodedCountingMonoid(3, SumMonoid(76)) }, Fingerprint { range: Range(55, 99), fp: EncodedCountingMonoid(3, SumMonoid(220)) }], item_sets: [ItemSet { range: Range(152, 214), items: [152, 161, 179, 181, 186, 206], want_response: false }, ItemSet { range: Range(309, 341), items: [309, 321, 335], want_response: false }, ItemSet { range: Range(359, 375), items: [363, 371], want_response: false }, ItemSet { range: Range(375, 444), items: [378, 382, 424, 425, 428], want_response: false }, ItemSet { range: Range(444, 523), items: [444, 469], want_response: false }, ItemSet { range: Range(523, 560), items: [548, 552, 553], want_response: false }, ItemSet { range: Range(560, 616), items: [560, 568, 594], want_response: false }, ItemSet { range: Range(616, 677), items: [625, 629], want_response: false }, ItemSet { range: Range(677, 721), items: [677, 690, 695, 712], want_response: false }, ItemSet { range: Range(730, 756), items: [737, 740, 752], want_response: false }, ItemSet { range: Range(838, 874), items: [838, 839, 842], want_response: false }, ItemSet { range: Range(907, 948), items: [930, 936, 937], want_response: false }, ItemSet { range: Range(948, 999), items: [948, 950, 997, 998], want_response: false }, ItemSet { range: Range(99, 152), items: [145], want_response: true }, ItemSet { range: Range(341, 359), items: [341], want_response: true }, ItemSet { range: Range(721, 730), items: [], want_response: true }, ItemSet { range: Range(766, 820), items: [766, 799], want_response: true }, ItemSet { range: Range(820, 838), items: [831], want_response: true }, ItemSet { range: Range(874, 907), items: [888], want_response: true }], wants: [214, 223, 239, 255, 267, 329, 359, 366, 375, 423, 449, 455, 523, 593, 616, 624, 711, 730, 736, 907, 920, 967], provide: [(282, true), (287, true), (307, true), (756, true), (761, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(99, 152), items: [99, 126, 130], want_response: false }, ItemSet { range: Range(341, 359), items: [349, 353, 354], want_response: false }, ItemSet { range: Range(721, 730), items: [721, 725, 729], want_response: false }, ItemSet { range: Range(766, 820), items: [772, 795, 816], want_response: false }, ItemSet { range: Range(820, 838), items: [820, 822, 823], want_response: false }, ItemSet { range: Range(874, 907), items: [874, 894, 905], want_response: false }, ItemSet { range: Range(11, 55), items: [30, 36], want_response: true }, ItemSet { range: Range(55, 99), items: [63], want_response: true }], wants: [152, 161, 179, 181, 186, 206, 309, 321, 335, 363, 371, 378, 382, 424, 425, 428, 444, 469, 548, 552, 553, 568, 594, 625, 629, 677, 690, 695, 712, 737, 740, 752, 838, 839, 842, 930, 936, 937, 948, 950, 997, 998, 145, 341, 766, 799, 831, 888], provide: [(214, true), (223, true), (239, true), (255, true), (267, true), (329, true), (359, true), (366, true), (375, true), (423, true), (449, true), (455, true), (523, true), (593, true), (616, true), (624, true), (711, true), (730, true), (736, true), (907, true), (920, true), (967, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(11, 55), items: [11, 22, 43], want_response: false }, ItemSet { range: Range(55, 99), items: [55, 81, 84], want_response: false }], wants: [99, 126, 130, 349, 353, 354, 721, 725, 729, 772, 795, 816, 820, 822, 823, 874, 894, 905, 30, 36, 63], provide: [(152, true), (161, true), (179, true), (181, true), (186, true), (206, true), (309, true), (321, true), (335, true), (363, true), (371, true), (378, true), (382, true), (424, true), (425, true), (428, true), (444, true), (469, true), (548, true), (552, true), (553, true), (568, true), (594, true), (625, true), (629, true), (677, true), (690, true), (695, true), (712, true), (737, true), (740, true), (752, true), (838, true), (839, true), (842, true), (930, true), (936, true), (937, true), (948, true), (950, true), (997, true), (998, true), (145, true), (341, true), (766, true), (799, true), (831, true), (888, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [11, 22, 43, 55, 81, 84], provide: [(99, true), (126, true), (130, true), (349, true), (353, true), (354, true), (721, true), (725, true), (729, true), (772, true), (795, true), (816, true), (820, true), (822, true), (823, true), (874, true), (894, true), (905, true), (30, true), (36, true), (63, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(11, true), (22, true), (43, true), (55, true), (81, true), (84, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {11, 22, 43, 55, 81, 84, 145, 152, 161, 179, 181, 186, 206, 282, 287, 307, 309, 321, 335, 341, 363, 371, 378, 382, 424, 425, 428, 444, 469, 548, 552, 553, 560, 568, 594, 625, 629, 677, 690, 695, 712, 737, 740, 752, 756, 761, 766, 799, 831, 838, 839, 842, 888, 930, 936, 937, 948, 950, 997, 998} + [214, 223, 239, 255, 267, 329, 359, 366, 375, 423, 449, 455, 523, 593, 616, 624, 711, 730, 736, 907, 920, 967, 99, 126, 130, 349, 353, 354, 721, 725, 729, 772, 795, 816, 820, 822, 823, 874, 894, 905, 30, 36, 63] [INFO] [stdout] b all: {30, 36, 63, 99, 126, 130, 214, 223, 239, 255, 267, 329, 349, 353, 354, 359, 366, 375, 423, 449, 455, 523, 560, 593, 616, 624, 711, 721, 725, 729, 730, 736, 772, 795, 816, 820, 822, 823, 874, 894, 905, 907, 920, 967} + [282, 287, 307, 756, 761, 152, 161, 179, 181, 186, 206, 309, 321, 335, 363, 371, 378, 382, 424, 425, 428, 444, 469, 548, 552, 553, 568, 594, 625, 629, 677, 690, 695, 712, 737, 740, 752, 838, 839, 842, 930, 936, 937, 948, 950, 997, 998, 145, 341, 766, 799, 831, 888, 11, 22, 43, 55, 81, 84] [INFO] [stdout] [INFO] [stdout] all vec: [11, 22, 30, 36, 43, 55, 63, 81, 84, 99, 126, 130, 145, 152, 161, 179, 181, 186, 206, 214, 223, 239, 255, 267, 282, 287, 307, 309, 321, 329, 335, 341, 349, 353, 354, 359, 363, 366, 371, 375, 378, 382, 423, 424, 425, 428, 444, 449, 455, 469, 523, 548, 552, 553, 560, 568, 593, 594, 616, 624, 625, 629, 677, 690, 695, 711, 712, 721, 725, 729, 730, 736, 737, 740, 752, 756, 761, 766, 772, 795, 799, 816, 820, 822, 823, 831, 838, 839, 842, 874, 888, 894, 905, 907, 920, 930, 936, 937, 948, 950, 967, 997, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [11, 22, 30, 36, 43, 55, 63, 81, 84, 99, 126, 130, 145, 152, 161, 179, 181, 186, 206, 214, 223, 239, 255, 267, 282, 287, 307, 309, 321, 329, 335, 341, 349, 353, 354, 359, 363, 366, 371, 375, 378, 382, 423, 424, 425, 428, 444, 449, 455, 469, 523, 548, 552, 553, 560, 568, 593, 594, 616, 624, 625, 629, 677, 690, 695, 711, 712, 721, 725, 729, 730, 736, 737, 740, 752, 756, 761, 766, 772, 795, 799, 816, 820, 822, 823, 831, 838, 839, 842, 874, 888, 894, 905, 907, 920, 930, 936, 937, 948, 950, 967, 997, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [11, 22, 30, 36, 43, 55, 63, 81, 84, 99, 126, 130, 145, 152, 161, 179, 181, 186, 206, 214, 223, 239, 255, 267, 282, 287, 307, 309, 321, 329, 335, 341, 349, 353, 354, 359, 363, 366, 371, 375, 378, 382, 423, 424, 425, 428, 444, 449, 455, 469, 523, 548, 552, 553, 560, 568, 593, 594, 616, 624, 625, 629, 677, 690, 695, 711, 712, 721, 725, 729, 730, 736, 737, 740, 752, 756, 761, 766, 772, 795, 799, 816, 820, 822, 823, 831, 838, 839, 842, 874, 888, 894, 905, 907, 920, 930, 936, 937, 948, 950, 967, 997, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {25, 34, 153, 252, 459, 466, 470, 662, 680, 808, 853, 897, 922} [INFO] [stdout] b items: {99, 104, 159, 187, 199, 222, 231, 243, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 465, 472, 474, 497, 510, 567, 568, 581, 587, 599, 606, 623, 639, 683, 732, 733, 760, 793, 795, 802, 807, 816, 817, 842, 843, 844, 846, 857, 869, 880, 883, 934, 960, 976} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 923), fp: EncodedCountingMonoid(13, SumMonoid(6681)) }], item_sets: [ItemSet { range: Range(923, 25), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 510), fp: EncodedCountingMonoid(28, SumMonoid(9215)) }, Fingerprint { range: Range(510, 923), fp: EncodedCountingMonoid(27, SumMonoid(19882)) }], item_sets: [ItemSet { range: Range(923, 25), items: [934, 960, 976], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(25, 459), fp: EncodedCountingMonoid(4, SumMonoid(464)) }, Fingerprint { range: Range(459, 510), fp: EncodedCountingMonoid(3, SumMonoid(1395)) }, Fingerprint { range: Range(510, 853), fp: EncodedCountingMonoid(3, SumMonoid(2150)) }, Fingerprint { range: Range(853, 923), fp: EncodedCountingMonoid(3, SumMonoid(2672)) }], item_sets: [], wants: [934, 960, 976], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(25, 338), fp: EncodedCountingMonoid(12, SumMonoid(2639)) }, Fingerprint { range: Range(338, 459), fp: EncodedCountingMonoid(12, SumMonoid(4668)) }, Fingerprint { range: Range(510, 760), fp: EncodedCountingMonoid(12, SumMonoid(7428)) }, Fingerprint { range: Range(760, 853), fp: EncodedCountingMonoid(11, SumMonoid(8965)) }], item_sets: [ItemSet { range: Range(459, 474), items: [465, 472], want_response: true }, ItemSet { range: Range(474, 510), items: [474, 497], want_response: true }, ItemSet { range: Range(853, 880), items: [857, 869], want_response: true }, ItemSet { range: Range(880, 923), items: [880, 883], want_response: true }], wants: [], provide: [(934, true), (960, true), (976, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(459, 474), items: [459, 466, 470], want_response: false }, ItemSet { range: Range(474, 510), items: [], want_response: false }, ItemSet { range: Range(853, 880), items: [853], want_response: false }, ItemSet { range: Range(880, 923), items: [897, 922], want_response: false }, ItemSet { range: Range(25, 153), items: [25, 34], want_response: true }, ItemSet { range: Range(153, 338), items: [153, 252], want_response: true }, ItemSet { range: Range(338, 459), items: [], want_response: true }, ItemSet { range: Range(510, 760), items: [662, 680], want_response: true }, ItemSet { range: Range(760, 853), items: [808], want_response: true }], wants: [465, 472, 474, 497, 857, 869, 880, 883], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(25, 153), items: [99, 104], want_response: false }, ItemSet { range: Range(153, 338), items: [159, 187, 199, 222, 231, 243, 254, 280, 325, 336], want_response: false }, ItemSet { range: Range(338, 459), items: [338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455], want_response: false }, ItemSet { range: Range(510, 760), items: [510, 567, 568, 581, 587, 599, 606, 623, 639, 683, 732, 733], want_response: false }, ItemSet { range: Range(760, 853), items: [760, 793, 795, 802, 807, 816, 817, 842, 843, 844, 846], want_response: false }], wants: [459, 466, 470, 853, 897, 922, 25, 34, 153, 252, 662, 680, 808], provide: [(465, true), (472, true), (474, true), (497, true), (857, true), (869, true), (880, true), (883, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [99, 104, 159, 187, 199, 222, 231, 243, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 510, 567, 568, 581, 587, 599, 606, 623, 639, 683, 732, 733, 760, 793, 795, 802, 807, 816, 817, 842, 843, 844, 846], provide: [(459, true), (466, true), (470, true), (853, true), (897, true), (922, true), (25, true), (34, true), (153, true), (252, true), (662, true), (680, true), (808, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(99, true), (104, true), (159, true), (187, true), (199, true), (222, true), (231, true), (243, true), (254, true), (280, true), (325, true), (336, true), (338, true), (346, true), (347, true), (348, true), (360, true), (386, true), (388, true), (399, true), (410, true), (440, true), (451, true), (455, true), (510, true), (567, true), (568, true), (581, true), (587, true), (599, true), (606, true), (623, true), (639, true), (683, true), (732, true), (733, true), (760, true), (793, true), (795, true), (802, true), (807, true), (816, true), (817, true), (842, true), (843, true), (844, true), (846, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {25, 34, 153, 252, 459, 466, 470, 662, 680, 808, 853, 897, 922} + [934, 960, 976, 465, 472, 474, 497, 857, 869, 880, 883, 99, 104, 159, 187, 199, 222, 231, 243, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 510, 567, 568, 581, 587, 599, 606, 623, 639, 683, 732, 733, 760, 793, 795, 802, 807, 816, 817, 842, 843, 844, 846] [INFO] [stdout] b all: {99, 104, 159, 187, 199, 222, 231, 243, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 465, 472, 474, 497, 510, 567, 568, 581, 587, 599, 606, 623, 639, 683, 732, 733, 760, 793, 795, 802, 807, 816, 817, 842, 843, 844, 846, 857, 869, 880, 883, 934, 960, 976} + [459, 466, 470, 853, 897, 922, 25, 34, 153, 252, 662, 680, 808] [INFO] [stdout] [INFO] [stdout] all vec: [25, 34, 99, 104, 153, 159, 187, 199, 222, 231, 243, 252, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 459, 465, 466, 470, 472, 474, 497, 510, 567, 568, 581, 587, 599, 606, 623, 639, 662, 680, 683, 732, 733, 760, 793, 795, 802, 807, 808, 816, 817, 842, 843, 844, 846, 853, 857, 869, 880, 883, 897, 922, 934, 960, 976] [INFO] [stdout] [INFO] [stdout] a all vec: [25, 34, 99, 104, 153, 159, 187, 199, 222, 231, 243, 252, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 459, 465, 466, 470, 472, 474, 497, 510, 567, 568, 581, 587, 599, 606, 623, 639, 662, 680, 683, 732, 733, 760, 793, 795, 802, 807, 808, 816, 817, 842, 843, 844, 846, 853, 857, 869, 880, 883, 897, 922, 934, 960, 976], true true [INFO] [stdout] [INFO] [stdout] b all vec: [25, 34, 99, 104, 153, 159, 187, 199, 222, 231, 243, 252, 254, 280, 325, 336, 338, 346, 347, 348, 360, 386, 388, 399, 410, 440, 451, 455, 459, 465, 466, 470, 472, 474, 497, 510, 567, 568, 581, 587, 599, 606, 623, 639, 662, 680, 683, 732, 733, 760, 793, 795, 802, 807, 808, 816, 817, 842, 843, 844, 846, 853, 857, 869, 880, 883, 897, 922, 934, 960, 976], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {12, 22, 50, 53, 78, 82, 91, 132, 140, 141, 170, 239, 275, 301, 304, 334, 339, 351, 356, 366, 374, 404, 410, 455, 472, 497, 498, 505, 513, 538, 556, 596, 601, 617, 622, 651, 661, 684, 702, 707, 712, 723, 740, 777, 825, 837, 846, 848, 861, 878, 929, 933, 971, 974, 983, 997} [INFO] [stdout] b items: {3, 4, 28, 34, 42, 75, 95, 132, 133, 136, 151, 211, 270, 276, 282, 314, 323, 339, 341, 352, 362, 369, 375, 396, 411, 413, 415, 443, 514, 516, 537, 550, 557, 565, 568, 576, 595, 598, 633, 674, 707, 800, 826, 869, 886, 900, 907, 939, 970, 989} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 998), fp: EncodedCountingMonoid(56, SumMonoid(28733)) }], item_sets: [ItemSet { range: Range(998, 12), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(12, 415), fp: EncodedCountingMonoid(24, SumMonoid(5860)) }, Fingerprint { range: Range(415, 998), fp: EncodedCountingMonoid(24, SumMonoid(16534)) }], item_sets: [ItemSet { range: Range(998, 12), items: [3, 4], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 275), fp: EncodedCountingMonoid(12, SumMonoid(1210)) }, Fingerprint { range: Range(275, 415), fp: EncodedCountingMonoid(11, SumMonoid(3814)) }, Fingerprint { range: Range(415, 712), fp: EncodedCountingMonoid(17, SumMonoid(9875)) }, Fingerprint { range: Range(712, 998), fp: EncodedCountingMonoid(16, SumMonoid(13834)) }], item_sets: [], wants: [3, 4], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(12, 133), fp: EncodedCountingMonoid(6, SumMonoid(406)) }, Fingerprint { range: Range(133, 275), fp: EncodedCountingMonoid(5, SumMonoid(901)) }, Fingerprint { range: Range(275, 362), fp: EncodedCountingMonoid(7, SumMonoid(2227)) }, Fingerprint { range: Range(362, 415), fp: EncodedCountingMonoid(6, SumMonoid(2326)) }, Fingerprint { range: Range(415, 568), fp: EncodedCountingMonoid(8, SumMonoid(4097)) }, Fingerprint { range: Range(568, 712), fp: EncodedCountingMonoid(7, SumMonoid(4351)) }, Fingerprint { range: Range(712, 907), fp: EncodedCountingMonoid(5, SumMonoid(4281)) }, Fingerprint { range: Range(907, 998), fp: EncodedCountingMonoid(4, SumMonoid(3805)) }], item_sets: [], wants: [], provide: [(3, true), (4, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(12, 78), fp: EncodedCountingMonoid(4, SumMonoid(137)) }, Fingerprint { range: Range(78, 133), fp: EncodedCountingMonoid(4, SumMonoid(383)) }, Fingerprint { range: Range(275, 339), fp: EncodedCountingMonoid(4, SumMonoid(1214)) }, Fingerprint { range: Range(339, 362), fp: EncodedCountingMonoid(3, SumMonoid(1046)) }, Fingerprint { range: Range(415, 505), fp: EncodedCountingMonoid(4, SumMonoid(1922)) }, Fingerprint { range: Range(505, 568), fp: EncodedCountingMonoid(4, SumMonoid(2112)) }, Fingerprint { range: Range(568, 661), fp: EncodedCountingMonoid(5, SumMonoid(3087)) }, Fingerprint { range: Range(661, 712), fp: EncodedCountingMonoid(4, SumMonoid(2754)) }, Fingerprint { range: Range(712, 837), fp: EncodedCountingMonoid(5, SumMonoid(3777)) }, Fingerprint { range: Range(837, 907), fp: EncodedCountingMonoid(5, SumMonoid(4270)) }, Fingerprint { range: Range(907, 974), fp: EncodedCountingMonoid(3, SumMonoid(2833)) }, Fingerprint { range: Range(974, 998), fp: EncodedCountingMonoid(3, SumMonoid(2954)) }], item_sets: [ItemSet { range: Range(133, 170), items: [140, 141], want_response: true }, ItemSet { range: Range(170, 275), items: [170, 239], want_response: true }, ItemSet { range: Range(362, 404), items: [366, 374], want_response: true }, ItemSet { range: Range(404, 415), items: [404, 410], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(505, 550), fp: EncodedCountingMonoid(3, SumMonoid(1567)) }, Fingerprint { range: Range(550, 568), fp: EncodedCountingMonoid(3, SumMonoid(1672)) }, Fingerprint { range: Range(568, 598), fp: EncodedCountingMonoid(3, SumMonoid(1739)) }], item_sets: [ItemSet { range: Range(133, 170), items: [133, 136, 151], want_response: false }, ItemSet { range: Range(170, 275), items: [211, 270], want_response: false }, ItemSet { range: Range(362, 404), items: [362, 369, 375, 396], want_response: false }, ItemSet { range: Range(404, 415), items: [411, 413], want_response: false }, ItemSet { range: Range(12, 42), items: [28, 34], want_response: true }, ItemSet { range: Range(42, 78), items: [42, 75], want_response: true }, ItemSet { range: Range(78, 133), items: [95, 132], want_response: true }, ItemSet { range: Range(275, 314), items: [276, 282], want_response: true }, ItemSet { range: Range(314, 339), items: [314, 323], want_response: true }, ItemSet { range: Range(339, 352), items: [339, 341], want_response: true }, ItemSet { range: Range(352, 362), items: [352], want_response: true }, ItemSet { range: Range(415, 505), items: [415, 443], want_response: true }, ItemSet { range: Range(598, 661), items: [598, 633], want_response: true }, ItemSet { range: Range(661, 712), items: [674, 707], want_response: true }, ItemSet { range: Range(712, 837), items: [800, 826], want_response: true }, ItemSet { range: Range(837, 900), items: [869, 886], want_response: true }, ItemSet { range: Range(900, 907), items: [900], want_response: true }, ItemSet { range: Range(907, 970), items: [907, 939], want_response: true }, ItemSet { range: Range(970, 974), items: [970], want_response: true }, ItemSet { range: Range(974, 998), items: [989], want_response: true }], wants: [140, 141, 170, 239, 366, 374, 404, 410], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(12, 42), items: [12, 22], want_response: false }, ItemSet { range: Range(42, 78), items: [50, 53], want_response: false }, ItemSet { range: Range(78, 133), items: [78, 82, 91, 132], want_response: false }, ItemSet { range: Range(275, 314), items: [275, 301, 304], want_response: false }, ItemSet { range: Range(314, 339), items: [334], want_response: false }, ItemSet { range: Range(339, 352), items: [339, 351], want_response: false }, ItemSet { range: Range(352, 362), items: [356], want_response: false }, ItemSet { range: Range(415, 505), items: [455, 472, 497, 498], want_response: false }, ItemSet { range: Range(598, 661), items: [601, 617, 622, 651], want_response: false }, ItemSet { range: Range(661, 712), items: [661, 684, 702, 707], want_response: false }, ItemSet { range: Range(712, 837), items: [712, 723, 740, 777, 825], want_response: false }, ItemSet { range: Range(837, 900), items: [837, 846, 848, 861, 878], want_response: false }, ItemSet { range: Range(900, 907), items: [], want_response: false }, ItemSet { range: Range(907, 970), items: [929, 933], want_response: false }, ItemSet { range: Range(970, 974), items: [971], want_response: false }, ItemSet { range: Range(974, 998), items: [974, 983, 997], want_response: false }, ItemSet { range: Range(505, 538), items: [505, 513], want_response: true }, ItemSet { range: Range(538, 550), items: [538], want_response: true }, ItemSet { range: Range(550, 568), items: [556], want_response: true }, ItemSet { range: Range(568, 598), items: [596], want_response: true }], wants: [133, 136, 151, 211, 270, 362, 369, 375, 396, 411, 413, 28, 34, 42, 75, 95, 276, 282, 314, 323, 341, 352, 415, 443, 598, 633, 674, 800, 826, 869, 886, 900, 907, 939, 970, 989], provide: [(140, true), (141, true), (170, true), (239, true), (366, true), (374, true), (404, true), (410, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(505, 538), items: [514, 516, 537], want_response: false }, ItemSet { range: Range(538, 550), items: [], want_response: false }, ItemSet { range: Range(550, 568), items: [550, 557, 565], want_response: false }, ItemSet { range: Range(568, 598), items: [568, 576, 595], want_response: false }], wants: [12, 22, 50, 53, 78, 82, 91, 275, 301, 304, 334, 351, 356, 455, 472, 497, 498, 601, 617, 622, 651, 661, 684, 702, 712, 723, 740, 777, 825, 837, 846, 848, 861, 878, 929, 933, 971, 974, 983, 997, 505, 513, 538, 556, 596], provide: [(133, true), (136, true), (151, true), (211, true), (270, true), (362, true), (369, true), (375, true), (396, true), (411, true), (413, true), (28, true), (34, true), (42, true), (75, true), (95, true), (276, true), (282, true), (314, true), (323, true), (341, true), (352, true), (415, true), (443, true), (598, true), (633, true), (674, true), (800, true), (826, true), (869, true), (886, true), (900, true), (907, true), (939, true), (970, true), (989, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [514, 516, 537, 550, 557, 565, 568, 576, 595], provide: [(12, true), (22, true), (50, true), (53, true), (78, true), (82, true), (91, true), (275, true), (301, true), (304, true), (334, true), (351, true), (356, true), (455, true), (472, true), (497, true), (498, true), (601, true), (617, true), (622, true), (651, true), (661, true), (684, true), (702, true), (712, true), (723, true), (740, true), (777, true), (825, true), (837, true), (846, true), (848, true), (861, true), (878, true), (929, true), (933, true), (971, true), (974, true), (983, true), (997, true), (505, true), (513, true), (538, true), (556, true), (596, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(514, true), (516, true), (537, true), (550, true), (557, true), (565, true), (568, true), (576, true), (595, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {12, 22, 50, 53, 78, 82, 91, 132, 140, 141, 170, 239, 275, 301, 304, 334, 339, 351, 356, 366, 374, 404, 410, 455, 472, 497, 498, 505, 513, 538, 556, 596, 601, 617, 622, 651, 661, 684, 702, 707, 712, 723, 740, 777, 825, 837, 846, 848, 861, 878, 929, 933, 971, 974, 983, 997} + [3, 4, 133, 136, 151, 211, 270, 362, 369, 375, 396, 411, 413, 28, 34, 42, 75, 95, 276, 282, 314, 323, 341, 352, 415, 443, 598, 633, 674, 800, 826, 869, 886, 900, 907, 939, 970, 989, 514, 516, 537, 550, 557, 565, 568, 576, 595] [INFO] [stdout] b all: {3, 4, 28, 34, 42, 75, 95, 132, 133, 136, 151, 211, 270, 276, 282, 314, 323, 339, 341, 352, 362, 369, 375, 396, 411, 413, 415, 443, 514, 516, 537, 550, 557, 565, 568, 576, 595, 598, 633, 674, 707, 800, 826, 869, 886, 900, 907, 939, 970, 989} + [140, 141, 170, 239, 366, 374, 404, 410, 12, 22, 50, 53, 78, 82, 91, 275, 301, 304, 334, 351, 356, 455, 472, 497, 498, 601, 617, 622, 651, 661, 684, 702, 712, 723, 740, 777, 825, 837, 846, 848, 861, 878, 929, 933, 971, 974, 983, 997, 505, 513, 538, 556, 596] [INFO] [stdout] [INFO] [stdout] all vec: [3, 4, 12, 22, 28, 34, 42, 50, 53, 75, 78, 82, 91, 95, 132, 133, 136, 140, 141, 151, 170, 211, 239, 270, 275, 276, 282, 301, 304, 314, 323, 334, 339, 341, 351, 352, 356, 362, 366, 369, 374, 375, 396, 404, 410, 411, 413, 415, 443, 455, 472, 497, 498, 505, 513, 514, 516, 537, 538, 550, 556, 557, 565, 568, 576, 595, 596, 598, 601, 617, 622, 633, 651, 661, 674, 684, 702, 707, 712, 723, 740, 777, 800, 825, 826, 837, 846, 848, 861, 869, 878, 886, 900, 907, 929, 933, 939, 970, 971, 974, 983, 989, 997] [INFO] [stdout] [INFO] [stdout] a all vec: [3, 4, 12, 22, 28, 34, 42, 50, 53, 75, 78, 82, 91, 95, 132, 133, 136, 140, 141, 151, 170, 211, 239, 270, 275, 276, 282, 301, 304, 314, 323, 334, 339, 341, 351, 352, 356, 362, 366, 369, 374, 375, 396, 404, 410, 411, 413, 415, 443, 455, 472, 497, 498, 505, 513, 514, 516, 537, 538, 550, 556, 557, 565, 568, 576, 595, 596, 598, 601, 617, 622, 633, 651, 661, 674, 684, 702, 707, 712, 723, 740, 777, 800, 825, 826, 837, 846, 848, 861, 869, 878, 886, 900, 907, 929, 933, 939, 970, 971, 974, 983, 989, 997], true true [INFO] [stdout] [INFO] [stdout] b all vec: [3, 4, 12, 22, 28, 34, 42, 50, 53, 75, 78, 82, 91, 95, 132, 133, 136, 140, 141, 151, 170, 211, 239, 270, 275, 276, 282, 301, 304, 314, 323, 334, 339, 341, 351, 352, 356, 362, 366, 369, 374, 375, 396, 404, 410, 411, 413, 415, 443, 455, 472, 497, 498, 505, 513, 514, 516, 537, 538, 550, 556, 557, 565, 568, 576, 595, 596, 598, 601, 617, 622, 633, 651, 661, 674, 684, 702, 707, 712, 723, 740, 777, 800, 825, 826, 837, 846, 848, 861, 869, 878, 886, 900, 907, 929, 933, 939, 970, 971, 974, 983, 989, 997], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {6, 72, 189, 203, 213, 221, 230, 336, 384, 387, 416, 464, 471, 557, 581, 598, 652, 661, 663, 671, 679, 680, 707, 726, 738, 753, 756, 758, 794, 850, 871, 940, 960, 965, 985} [INFO] [stdout] b items: {47, 116, 286, 298, 300, 590, 614, 665, 794} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 986), fp: EncodedCountingMonoid(35, SumMonoid(20137)) }], item_sets: [ItemSet { range: Range(986, 6), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 590), fp: EncodedCountingMonoid(5, SumMonoid(1047)) }, Fingerprint { range: Range(590, 986), fp: EncodedCountingMonoid(4, SumMonoid(2663)) }], item_sets: [ItemSet { range: Range(986, 6), items: [], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 384), fp: EncodedCountingMonoid(8, SumMonoid(1470)) }, Fingerprint { range: Range(384, 590), fp: EncodedCountingMonoid(7, SumMonoid(3260)) }, Fingerprint { range: Range(590, 753), fp: EncodedCountingMonoid(10, SumMonoid(6775)) }, Fingerprint { range: Range(753, 986), fp: EncodedCountingMonoid(10, SumMonoid(8632)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(6, 298), fp: EncodedCountingMonoid(3, SumMonoid(449)) }], item_sets: [ItemSet { range: Range(298, 384), items: [298, 300], want_response: true }, ItemSet { range: Range(384, 590), items: [], want_response: true }, ItemSet { range: Range(590, 665), items: [590, 614], want_response: true }, ItemSet { range: Range(665, 753), items: [665], want_response: true }, ItemSet { range: Range(753, 986), items: [794], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(6, 213), fp: EncodedCountingMonoid(4, SumMonoid(470)) }, Fingerprint { range: Range(213, 298), fp: EncodedCountingMonoid(3, SumMonoid(664)) }], item_sets: [ItemSet { range: Range(298, 384), items: [336], want_response: false }, ItemSet { range: Range(384, 590), items: [384, 387, 416, 464, 471, 557, 581], want_response: false }, ItemSet { range: Range(590, 665), items: [598, 652, 661, 663], want_response: false }, ItemSet { range: Range(665, 753), items: [671, 679, 680, 707, 726, 738], want_response: false }, ItemSet { range: Range(753, 986), items: [753, 756, 758, 794, 850, 871, 940, 960, 965, 985], want_response: false }], wants: [298, 300, 590, 614, 665], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 213), items: [47, 116], want_response: true }, ItemSet { range: Range(213, 298), items: [286], want_response: true }], wants: [336, 384, 387, 416, 464, 471, 557, 581, 598, 652, 661, 663, 671, 679, 680, 707, 726, 738, 753, 756, 758, 850, 871, 940, 960, 965, 985], provide: [(298, true), (300, true), (590, true), (614, true), (665, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(6, 213), items: [6, 72, 189, 203], want_response: false }, ItemSet { range: Range(213, 298), items: [213, 221, 230], want_response: false }], wants: [47, 116, 286], provide: [(336, true), (384, true), (387, true), (416, true), (464, true), (471, true), (557, true), (581, true), (598, true), (652, true), (661, true), (663, true), (671, true), (679, true), (680, true), (707, true), (726, true), (738, true), (753, true), (756, true), (758, true), (850, true), (871, true), (940, true), (960, true), (965, true), (985, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [6, 72, 189, 203, 213, 221, 230], provide: [(47, true), (116, true), (286, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(6, true), (72, true), (189, true), (203, true), (213, true), (221, true), (230, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {6, 72, 189, 203, 213, 221, 230, 336, 384, 387, 416, 464, 471, 557, 581, 598, 652, 661, 663, 671, 679, 680, 707, 726, 738, 753, 756, 758, 794, 850, 871, 940, 960, 965, 985} + [298, 300, 590, 614, 665, 47, 116, 286] [INFO] [stdout] b all: {47, 116, 286, 298, 300, 590, 614, 665, 794} + [336, 384, 387, 416, 464, 471, 557, 581, 598, 652, 661, 663, 671, 679, 680, 707, 726, 738, 753, 756, 758, 850, 871, 940, 960, 965, 985, 6, 72, 189, 203, 213, 221, 230] [INFO] [stdout] [INFO] [stdout] all vec: [6, 47, 72, 116, 189, 203, 213, 221, 230, 286, 298, 300, 336, 384, 387, 416, 464, 471, 557, 581, 590, 598, 614, 652, 661, 663, 665, 671, 679, 680, 707, 726, 738, 753, 756, 758, 794, 850, 871, 940, 960, 965, 985] [INFO] [stdout] [INFO] [stdout] a all vec: [6, 47, 72, 116, 189, 203, 213, 221, 230, 286, 298, 300, 336, 384, 387, 416, 464, 471, 557, 581, 590, 598, 614, 652, 661, 663, 665, 671, 679, 680, 707, 726, 738, 753, 756, 758, 794, 850, 871, 940, 960, 965, 985], true true [INFO] [stdout] [INFO] [stdout] b all vec: [6, 47, 72, 116, 189, 203, 213, 221, 230, 286, 298, 300, 336, 384, 387, 416, 464, 471, 557, 581, 590, 598, 614, 652, 661, 663, 665, 671, 679, 680, 707, 726, 738, 753, 756, 758, 794, 850, 871, 940, 960, 965, 985], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {41, 75, 91, 96, 115, 140, 145, 156, 174, 183, 194, 208, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 557, 570, 577, 595, 613, 618, 624, 627, 636, 643, 660, 677, 737, 747, 752, 757, 758, 761, 767, 771, 772, 774, 783, 785, 812, 830, 832, 872, 913, 922, 933, 968, 979, 987, 989, 994, 998} [INFO] [stdout] b items: {40, 63, 86, 94, 117, 130, 165, 252, 551, 580, 619, 690, 750, 765, 788, 794, 854, 924, 965, 966, 980} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(41, 999), fp: EncodedCountingMonoid(72, SumMonoid(39433)) }], item_sets: [ItemSet { range: Range(999, 41), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(41, 690), fp: EncodedCountingMonoid(10, SumMonoid(2657)) }, Fingerprint { range: Range(690, 999), fp: EncodedCountingMonoid(10, SumMonoid(8476)) }], item_sets: [ItemSet { range: Range(999, 41), items: [40], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(41, 435), fp: EncodedCountingMonoid(24, SumMonoid(5623)) }, Fingerprint { range: Range(435, 690), fp: EncodedCountingMonoid(23, SumMonoid(12617)) }, Fingerprint { range: Range(690, 830), fp: EncodedCountingMonoid(13, SumMonoid(9976)) }, Fingerprint { range: Range(830, 999), fp: EncodedCountingMonoid(12, SumMonoid(11217)) }], item_sets: [], wants: [40], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(41, 130), fp: EncodedCountingMonoid(4, SumMonoid(360)) }, Fingerprint { range: Range(130, 435), fp: EncodedCountingMonoid(3, SumMonoid(547)) }, Fingerprint { range: Range(690, 788), fp: EncodedCountingMonoid(3, SumMonoid(2205)) }, Fingerprint { range: Range(830, 966), fp: EncodedCountingMonoid(3, SumMonoid(2743)) }], item_sets: [ItemSet { range: Range(435, 619), items: [551, 580], want_response: true }, ItemSet { range: Range(619, 690), items: [619], want_response: true }, ItemSet { range: Range(788, 830), items: [788, 794], want_response: true }, ItemSet { range: Range(966, 999), items: [966, 980], want_response: true }], wants: [], provide: [(40, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(41, 96), fp: EncodedCountingMonoid(3, SumMonoid(207)) }, Fingerprint { range: Range(130, 309), fp: EncodedCountingMonoid(10, SumMonoid(2062)) }, Fingerprint { range: Range(309, 435), fp: EncodedCountingMonoid(9, SumMonoid(3143)) }, Fingerprint { range: Range(690, 767), fp: EncodedCountingMonoid(6, SumMonoid(4512)) }, Fingerprint { range: Range(767, 788), fp: EncodedCountingMonoid(6, SumMonoid(4652)) }, Fingerprint { range: Range(830, 913), fp: EncodedCountingMonoid(3, SumMonoid(2534)) }, Fingerprint { range: Range(913, 966), fp: EncodedCountingMonoid(3, SumMonoid(2768)) }], item_sets: [ItemSet { range: Range(435, 619), items: [435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 557, 570, 577, 595, 613, 618], want_response: false }, ItemSet { range: Range(619, 690), items: [624, 627, 636, 643, 660, 677], want_response: false }, ItemSet { range: Range(788, 830), items: [812], want_response: false }, ItemSet { range: Range(966, 999), items: [968, 979, 987, 989, 994, 998], want_response: false }, ItemSet { range: Range(96, 130), items: [96, 115], want_response: true }], wants: [551, 580, 619, 788, 794, 966, 980], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(96, 130), items: [117], want_response: false }, ItemSet { range: Range(41, 94), items: [63, 86], want_response: true }, ItemSet { range: Range(94, 96), items: [94], want_response: true }, ItemSet { range: Range(130, 252), items: [130, 165], want_response: true }, ItemSet { range: Range(252, 309), items: [252], want_response: true }, ItemSet { range: Range(309, 435), items: [], want_response: true }, ItemSet { range: Range(690, 765), items: [690, 750], want_response: true }, ItemSet { range: Range(765, 767), items: [765], want_response: true }, ItemSet { range: Range(767, 788), items: [], want_response: true }, ItemSet { range: Range(830, 913), items: [854], want_response: true }, ItemSet { range: Range(913, 966), items: [924, 965], want_response: true }], wants: [435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 557, 570, 577, 595, 613, 618, 624, 627, 636, 643, 660, 677, 812, 968, 979, 987, 989, 994, 998, 96, 115], provide: [(551, true), (580, true), (619, true), (788, true), (794, true), (966, true), (980, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(41, 94), items: [41, 75, 91], want_response: false }, ItemSet { range: Range(94, 96), items: [], want_response: false }, ItemSet { range: Range(130, 252), items: [140, 145, 156, 174, 183, 194, 208], want_response: false }, ItemSet { range: Range(252, 309), items: [277, 278, 307], want_response: false }, ItemSet { range: Range(309, 435), items: [309, 314, 321, 340, 347, 350, 374, 382, 406], want_response: false }, ItemSet { range: Range(690, 765), items: [737, 747, 752, 757, 758, 761], want_response: false }, ItemSet { range: Range(765, 767), items: [], want_response: false }, ItemSet { range: Range(767, 788), items: [767, 771, 772, 774, 783, 785], want_response: false }, ItemSet { range: Range(830, 913), items: [830, 832, 872], want_response: false }, ItemSet { range: Range(913, 966), items: [913, 922, 933], want_response: false }], wants: [117, 63, 86, 94, 130, 165, 252, 690, 750, 765, 854, 924, 965], provide: [(435, true), (450, true), (451, true), (457, true), (460, true), (468, true), (484, true), (488, true), (496, true), (512, true), (519, true), (557, true), (570, true), (577, true), (595, true), (613, true), (618, true), (624, true), (627, true), (636, true), (643, true), (660, true), (677, true), (812, true), (968, true), (979, true), (987, true), (989, true), (994, true), (998, true), (96, true), (115, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [41, 75, 91, 140, 145, 156, 174, 183, 194, 208, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 737, 747, 752, 757, 758, 761, 767, 771, 772, 774, 783, 785, 830, 832, 872, 913, 922, 933], provide: [(117, true), (63, true), (86, true), (94, true), (130, true), (165, true), (252, true), (690, true), (750, true), (765, true), (854, true), (924, true), (965, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(41, true), (75, true), (91, true), (140, true), (145, true), (156, true), (174, true), (183, true), (194, true), (208, true), (277, true), (278, true), (307, true), (309, true), (314, true), (321, true), (340, true), (347, true), (350, true), (374, true), (382, true), (406, true), (737, true), (747, true), (752, true), (757, true), (758, true), (761, true), (767, true), (771, true), (772, true), (774, true), (783, true), (785, true), (830, true), (832, true), (872, true), (913, true), (922, true), (933, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {41, 75, 91, 96, 115, 140, 145, 156, 174, 183, 194, 208, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 557, 570, 577, 595, 613, 618, 624, 627, 636, 643, 660, 677, 737, 747, 752, 757, 758, 761, 767, 771, 772, 774, 783, 785, 812, 830, 832, 872, 913, 922, 933, 968, 979, 987, 989, 994, 998} + [40, 551, 580, 619, 788, 794, 966, 980, 117, 63, 86, 94, 130, 165, 252, 690, 750, 765, 854, 924, 965] [INFO] [stdout] b all: {40, 63, 86, 94, 117, 130, 165, 252, 551, 580, 619, 690, 750, 765, 788, 794, 854, 924, 965, 966, 980} + [435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 557, 570, 577, 595, 613, 618, 624, 627, 636, 643, 660, 677, 812, 968, 979, 987, 989, 994, 998, 96, 115, 41, 75, 91, 140, 145, 156, 174, 183, 194, 208, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 737, 747, 752, 757, 758, 761, 767, 771, 772, 774, 783, 785, 830, 832, 872, 913, 922, 933] [INFO] [stdout] [INFO] [stdout] all vec: [40, 41, 63, 75, 86, 91, 94, 96, 115, 117, 130, 140, 145, 156, 165, 174, 183, 194, 208, 252, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 551, 557, 570, 577, 580, 595, 613, 618, 619, 624, 627, 636, 643, 660, 677, 690, 737, 747, 750, 752, 757, 758, 761, 765, 767, 771, 772, 774, 783, 785, 788, 794, 812, 830, 832, 854, 872, 913, 922, 924, 933, 965, 966, 968, 979, 980, 987, 989, 994, 998] [INFO] [stdout] [INFO] [stdout] a all vec: [40, 41, 63, 75, 86, 91, 94, 96, 115, 117, 130, 140, 145, 156, 165, 174, 183, 194, 208, 252, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 551, 557, 570, 577, 580, 595, 613, 618, 619, 624, 627, 636, 643, 660, 677, 690, 737, 747, 750, 752, 757, 758, 761, 765, 767, 771, 772, 774, 783, 785, 788, 794, 812, 830, 832, 854, 872, 913, 922, 924, 933, 965, 966, 968, 979, 980, 987, 989, 994, 998], true true [INFO] [stdout] [INFO] [stdout] b all vec: [40, 41, 63, 75, 86, 91, 94, 96, 115, 117, 130, 140, 145, 156, 165, 174, 183, 194, 208, 252, 277, 278, 307, 309, 314, 321, 340, 347, 350, 374, 382, 406, 435, 450, 451, 457, 460, 468, 484, 488, 496, 512, 519, 551, 557, 570, 577, 580, 595, 613, 618, 619, 624, 627, 636, 643, 660, 677, 690, 737, 747, 750, 752, 757, 758, 761, 765, 767, 771, 772, 774, 783, 785, 788, 794, 812, 830, 832, 854, 872, 913, 922, 924, 933, 965, 966, 968, 979, 980, 987, 989, 994, 998], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {562, 985} [INFO] [stdout] b items: {58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(562, 986), fp: EncodedCountingMonoid(2, SumMonoid(1547)) }], item_sets: [ItemSet { range: Range(986, 562), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(562, 856), fp: EncodedCountingMonoid(6, SumMonoid(4406)) }, Fingerprint { range: Range(856, 986), fp: EncodedCountingMonoid(5, SumMonoid(4684)) }], item_sets: [ItemSet { range: Range(986, 562), items: [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 856), items: [562], want_response: true }, ItemSet { range: Range(856, 986), items: [985], want_response: true }], wants: [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(562, 856), items: [633, 679, 751, 767, 776, 800], want_response: false }, ItemSet { range: Range(856, 986), items: [856, 919, 966, 967, 976], want_response: false }], wants: [562, 985], provide: [(58, true), (76, true), (202, true), (215, true), (218, true), (224, true), (279, true), (393, true), (398, true), (402, true), (490, true), (503, true), (512, true), (515, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976], provide: [(562, true), (985, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(633, true), (679, true), (751, true), (767, true), (776, true), (800, true), (856, true), (919, true), (966, true), (967, true), (976, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {562, 985} + [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976] [INFO] [stdout] b all: {58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976} + [562, 985] [INFO] [stdout] [INFO] [stdout] all vec: [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 562, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976, 985] [INFO] [stdout] [INFO] [stdout] a all vec: [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 562, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976, 985], true true [INFO] [stdout] [INFO] [stdout] b all vec: [58, 76, 202, 215, 218, 224, 279, 393, 398, 402, 490, 503, 512, 515, 562, 633, 679, 751, 767, 776, 800, 856, 919, 966, 967, 976, 985], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 50, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 459, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(71, SumMonoid(31034)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(22, SumMonoid(2671)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(22, SumMonoid(8156)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(14, SumMonoid(8982)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(9, SumMonoid(472)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(8, SumMonoid(1084)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 323), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(323, 403), fp: EncodedCountingMonoid(7, SumMonoid(2432)) }, Fingerprint { range: Range(403, 459), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(459, 541), fp: EncodedCountingMonoid(4, SumMonoid(2009)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(4, SumMonoid(2544)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(323, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 435), fp: EncodedCountingMonoid(3, SumMonoid(1256)) }, Fingerprint { range: Range(435, 459), fp: EncodedCountingMonoid(3, SumMonoid(1314)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 323), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(459, 516), items: [465, 470], want_response: true }, ItemSet { range: Range(516, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(142, 167), fp: EncodedCountingMonoid(3, SumMonoid(462)) }, Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(323, 337), fp: EncodedCountingMonoid(3, SumMonoid(978)) }, Fingerprint { range: Range(337, 374), fp: EncodedCountingMonoid(3, SumMonoid(1076)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [50, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 323), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(459, 516), items: [459, 489], want_response: false }, ItemSet { range: Range(516, 541), items: [521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(167, 171), items: [167, 168], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 435), items: [429], want_response: true }, ItemSet { range: Range(435, 459), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 640), items: [613, 633], want_response: true }, ItemSet { range: Range(640, 656), items: [640], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 20, 24, 47, 64, 296, 319, 374, 401, 465, 470, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [(242, true), (245, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 435), items: [429], want_response: false }, ItemSet { range: Range(435, 459), items: [435, 438, 441], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 640), items: [620, 630], want_response: false }, ItemSet { range: Range(640, 656), items: [653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(142, 153), items: [142, 148], want_response: true }, ItemSet { range: Range(153, 167), items: [153], want_response: true }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(323, 337), items: [327], want_response: true }, ItemSet { range: Range(337, 374), items: [343, 359], want_response: true }], wants: [16, 35, 38, 50, 61, 62, 66, 69, 75, 305, 322, 378, 459, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(246, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (465, true), (470, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(142, 153), items: [146, 150], want_response: false }, ItemSet { range: Range(153, 167), items: [166], want_response: false }, ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(323, 337), items: [323, 326, 329], want_response: false }, ItemSet { range: Range(337, 374), items: [337, 368, 371], want_response: false }], wants: [95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (50, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (459, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (167, true), (168, true), (190, true), (200, true), (238, true), (279, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (640, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371], provide: [(95, true), (119, true), (141, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (142, true), (148, true), (153, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(146, true), (150, true), (166, true), (247, true), (269, true), (277, true), (323, true), (326, true), (329, true), (337, true), (368, true), (371, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 50, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 459, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 20, 24, 47, 64, 296, 319, 374, 401, 465, 470, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 16, 35, 38, 50, 61, 62, 66, 69, 75, 305, 322, 378, 459, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905, 146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 459, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(70, SumMonoid(30984)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(22, SumMonoid(2868)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(21, SumMonoid(7909)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(14, SumMonoid(8982)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(8, SumMonoid(1084)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 459), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(459, 541), fp: EncodedCountingMonoid(4, SumMonoid(2009)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(4, SumMonoid(2544)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 435), fp: EncodedCountingMonoid(3, SumMonoid(1256)) }, Fingerprint { range: Range(435, 459), fp: EncodedCountingMonoid(3, SumMonoid(1314)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(459, 516), items: [465, 470], want_response: true }, ItemSet { range: Range(516, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(142, 167), fp: EncodedCountingMonoid(3, SumMonoid(462)) }, Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(459, 516), items: [459, 489], want_response: false }, ItemSet { range: Range(516, 541), items: [521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(167, 171), items: [167, 168], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 435), items: [429], want_response: true }, ItemSet { range: Range(435, 459), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 640), items: [613, 633], want_response: true }, ItemSet { range: Range(640, 656), items: [640], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [20, 24, 47, 64, 246, 296, 319, 374, 401, 465, 470, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 435), items: [429], want_response: false }, ItemSet { range: Range(435, 459), items: [435, 438, 441], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 640), items: [620, 630], want_response: false }, ItemSet { range: Range(640, 656), items: [653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(142, 153), items: [142, 148], want_response: true }, ItemSet { range: Range(153, 167), items: [153], want_response: true }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 459, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (465, true), (470, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(142, 153), items: [146, 150], want_response: false }, ItemSet { range: Range(153, 167), items: [166], want_response: false }, ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (459, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (167, true), (168, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (640, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [146, 150, 166, 326, 329, 337], provide: [(95, true), (119, true), (141, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (142, true), (148, true), (153, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(146, true), (150, true), (166, true), (326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 459, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 246, 296, 319, 374, 401, 465, 470, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 459, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905, 146, 150, 166, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(69, SumMonoid(30525)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(21, SumMonoid(2621)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(21, SumMonoid(7697)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(14, SumMonoid(8982)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(8, SumMonoid(1084)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 323), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(323, 403), fp: EncodedCountingMonoid(7, SumMonoid(2432)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(4, SumMonoid(2544)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(323, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 323), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(142, 167), fp: EncodedCountingMonoid(3, SumMonoid(462)) }, Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(323, 337), fp: EncodedCountingMonoid(3, SumMonoid(978)) }, Fingerprint { range: Range(337, 374), fp: EncodedCountingMonoid(3, SumMonoid(1076)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 323), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(167, 171), items: [167, 168], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 640), items: [613, 633], want_response: true }, ItemSet { range: Range(640, 656), items: [640], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [(242, true), (245, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 640), items: [620, 630], want_response: false }, ItemSet { range: Range(640, 656), items: [653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(142, 153), items: [142, 148], want_response: true }, ItemSet { range: Range(153, 167), items: [153], want_response: true }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(323, 337), items: [327], want_response: true }, ItemSet { range: Range(337, 374), items: [343, 359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(246, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(142, 153), items: [146, 150], want_response: false }, ItemSet { range: Range(153, 167), items: [166], want_response: false }, ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(323, 337), items: [323, 326, 329], want_response: false }, ItemSet { range: Range(337, 374), items: [337, 368, 371], want_response: false }], wants: [95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (167, true), (168, true), (190, true), (200, true), (238, true), (279, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (640, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371], provide: [(95, true), (119, true), (141, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (142, true), (148, true), (153, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(146, true), (150, true), (166, true), (247, true), (269, true), (277, true), (323, true), (326, true), (329, true), (337, true), (368, true), (371, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 640, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 640, 701, 725, 809, 816, 846, 864, 883, 899, 905, 146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(68, SumMonoid(29885)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(21, SumMonoid(2621)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(21, SumMonoid(7697)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(13, SumMonoid(8342)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(8, SumMonoid(1084)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 323), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(323, 403), fp: EncodedCountingMonoid(7, SumMonoid(2432)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(323, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 323), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(142, 167), fp: EncodedCountingMonoid(3, SumMonoid(462)) }, Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(323, 337), fp: EncodedCountingMonoid(3, SumMonoid(978)) }, Fingerprint { range: Range(337, 374), fp: EncodedCountingMonoid(3, SumMonoid(1076)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 323), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(167, 171), items: [167, 168], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [(242, true), (245, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(142, 153), items: [142, 148], want_response: true }, ItemSet { range: Range(153, 167), items: [153], want_response: true }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(323, 337), items: [327], want_response: true }, ItemSet { range: Range(337, 374), items: [343, 359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(246, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(142, 153), items: [146, 150], want_response: false }, ItemSet { range: Range(153, 167), items: [166], want_response: false }, ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(323, 337), items: [323, 326, 329], want_response: false }, ItemSet { range: Range(337, 374), items: [337, 368, 371], want_response: false }], wants: [95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (167, true), (168, true), (190, true), (200, true), (238, true), (279, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371], provide: [(95, true), (119, true), (141, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (142, true), (148, true), (153, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(146, true), (150, true), (166, true), (247, true), (269, true), (277, true), (323, true), (326, true), (329, true), (337, true), (368, true), (371, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 168, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 142, 148, 153, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 167, 168, 190, 200, 238, 279, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905, 146, 150, 166, 247, 269, 277, 323, 326, 329, 337, 368, 371] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(67, SumMonoid(29717)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(21, SumMonoid(2700)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(20, SumMonoid(7450)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(13, SumMonoid(8342)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(66, SumMonoid(29135)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(21, SumMonoid(2700)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(20, SumMonoid(7450)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(13, SumMonoid(8523)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 701), fp: EncodedCountingMonoid(4, SumMonoid(2732)) }, Fingerprint { range: Range(701, 777), fp: EncodedCountingMonoid(3, SumMonoid(2189)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(701, 737), fp: EncodedCountingMonoid(4, SumMonoid(2865)) }, Fingerprint { range: Range(737, 777), fp: EncodedCountingMonoid(3, SumMonoid(2232)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 701), items: [676, 692], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 701), items: [677, 691, 692], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(561, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(701, 737), items: [701, 725], want_response: true }, ItemSet { range: Range(737, 777), items: [763], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(561, 613), items: [561, 579, 584], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(701, 737), items: [702, 710, 719, 734], want_response: false }, ItemSet { range: Range(737, 777), items: [737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 581, 613, 633, 701, 725, 763, 805, 809, 864, 883, 899, 905], provide: [(818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 579, 584, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (581, true), (613, true), (633, true), (701, true), (725, true), (763, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 579, 584, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [816, 846, 16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 581, 613, 633, 701, 725, 763, 805, 809, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] [INFO] [stdout] all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 323, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 725, 734, 737, 739, 756, 763, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 323, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 725, 734, 737, 739, 756, 763, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 323, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 725, 734, 737, 739, 756, 763, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(67, SumMonoid(29717)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(21, SumMonoid(2700)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(20, SumMonoid(7450)) }, Fingerprint { range: Range(541, 763), fp: EncodedCountingMonoid(13, SumMonoid(8342)) }, Fingerprint { range: Range(763, 975), fp: EncodedCountingMonoid(13, SumMonoid(11225)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 763), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(763, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 763), fp: EncodedCountingMonoid(3, SumMonoid(2118)) }, Fingerprint { range: Range(763, 809), fp: EncodedCountingMonoid(3, SumMonoid(2345)) }, Fingerprint { range: Range(809, 855), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 763), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(809, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 855), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(763, 803), items: [777, 799], want_response: true }, ItemSet { range: Range(803, 809), items: [803], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(763, 803), items: [763, 777], want_response: false }, ItemSet { range: Range(803, 809), items: [805], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(692, 725), items: [692, 701], want_response: true }, ItemSet { range: Range(725, 734), items: [725], want_response: true }, ItemSet { range: Range(734, 763), items: [], want_response: true }, ItemSet { range: Range(809, 819), items: [809, 816], want_response: true }, ItemSet { range: Range(819, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(692, 725), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(725, 734), items: [], want_response: false }, ItemSet { range: Range(734, 763), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(809, 819), items: [810, 815, 818], want_response: false }, ItemSet { range: Range(819, 855), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905], provide: [(20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (799, true), (803, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (763, true), (805, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (701, true), (725, true), (809, true), (816, true), (846, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 725, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 799, 803, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 763, 805, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 725, 809, 816, 846, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(66, SumMonoid(28992)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(21, SumMonoid(2700)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(20, SumMonoid(7450)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(13, SumMonoid(8380)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 777), fp: EncodedCountingMonoid(3, SumMonoid(2156)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(692, 734), fp: EncodedCountingMonoid(4, SumMonoid(2823)) }, Fingerprint { range: Range(734, 777), fp: EncodedCountingMonoid(4, SumMonoid(2966)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(692, 734), items: [692, 701], want_response: true }, ItemSet { range: Range(734, 777), items: [763], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(692, 734), items: [692, 702, 710, 719], want_response: false }, ItemSet { range: Range(734, 777), items: [734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 763, 805, 809, 864, 883, 899, 905], provide: [(818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (701, true), (763, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 763, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 702, 710, 719, 734, 737, 739, 756, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [816, 846, 16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 701, 763, 805, 809, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(65, SumMonoid(28229)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(21, SumMonoid(2700)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(20, SumMonoid(7450)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(7, SumMonoid(2062)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322, 323], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (242, true), (245, true), (247, true), (305, true), (322, true), (323, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 323, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 75, 242, 245, 247, 305, 322, 323, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(64, SumMonoid(27906)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(20, SumMonoid(2453)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(20, SumMonoid(7374)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 326), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(242, true), (245, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277, 326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true), (326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 247, 269, 277, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(63, SumMonoid(27325)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(20, SumMonoid(2453)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(20, SumMonoid(7374)) }, Fingerprint { range: Range(541, 805), fp: EncodedCountingMonoid(12, SumMonoid(7813)) }, Fingerprint { range: Range(805, 975), fp: EncodedCountingMonoid(11, SumMonoid(9685)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 666), fp: EncodedCountingMonoid(13, SumMonoid(7806)) }, Fingerprint { range: Range(666, 805), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(805, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 326), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1699)) }, Fingerprint { range: Range(613, 666), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(666, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(692, 805), fp: EncodedCountingMonoid(3, SumMonoid(2170)) }, Fingerprint { range: Range(805, 846), fp: EncodedCountingMonoid(3, SumMonoid(2430)) }, Fingerprint { range: Range(846, 884), fp: EncodedCountingMonoid(3, SumMonoid(2593)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(656, 666), fp: EncodedCountingMonoid(3, SumMonoid(1976)) }, Fingerprint { range: Range(692, 739), fp: EncodedCountingMonoid(6, SumMonoid(4294)) }, Fingerprint { range: Range(739, 805), fp: EncodedCountingMonoid(5, SumMonoid(3874)) }, Fingerprint { range: Range(805, 819), fp: EncodedCountingMonoid(3, SumMonoid(2443)) }, Fingerprint { range: Range(819, 846), fp: EncodedCountingMonoid(3, SumMonoid(2489)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(666, 692), items: [666, 676], want_response: true }, ItemSet { range: Range(846, 884), items: [855, 863], want_response: true }], wants: [242, 245, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(666, 692), items: [672, 677, 691], want_response: false }, ItemSet { range: Range(846, 884), items: [846, 864, 883], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(561, 613), items: [561, 582], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(656, 666), items: [658], want_response: true }, ItemSet { range: Range(692, 739), items: [692, 701], want_response: true }, ItemSet { range: Range(739, 805), items: [777], want_response: true }, ItemSet { range: Range(805, 816), items: [805, 809], want_response: true }, ItemSet { range: Range(816, 819), items: [816], want_response: true }, ItemSet { range: Range(819, 846), items: [], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 666, 676, 855, 863], provide: [(242, true), (245, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(561, 613), items: [561, 579, 584], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(656, 666), items: [656, 657, 663], want_response: false }, ItemSet { range: Range(692, 739), items: [692, 702, 710, 719, 734, 737], want_response: false }, ItemSet { range: Range(739, 805), items: [739, 756, 777, 799, 803], want_response: false }, ItemSet { range: Range(805, 816), items: [810, 815], want_response: false }, ItemSet { range: Range(816, 819), items: [818], want_response: false }, ItemSet { range: Range(819, 846), items: [819, 830, 840], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 672, 677, 691, 846, 864, 883, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 582, 613, 633, 658, 701, 805, 809, 816, 899, 905, 914], provide: [(246, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (666, true), (676, true), (855, true), (863, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 884, 885, 888, 911, 935, 944, 959, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (672, true), (677, true), (691, true), (846, true), (864, true), (883, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (582, true), (613, true), (633, true), (658, true), (701, true), (805, true), (809, true), (816, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277, 326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true), (326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 666, 676, 855, 863, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 884, 885, 888, 911, 935, 944, 959, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 970, 974, 16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 672, 677, 691, 846, 864, 883, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 582, 613, 633, 658, 701, 805, 809, 816, 899, 905, 914, 247, 269, 277, 326, 329, 337] [INFO] [stdout] [INFO] [stdout] all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 582, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 582, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 16, 20, 24, 35, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 103, 107, 119, 141, 142, 146, 148, 150, 153, 166, 167, 171, 180, 190, 200, 205, 208, 228, 230, 234, 237, 238, 239, 240, 242, 245, 246, 247, 269, 275, 277, 279, 281, 287, 296, 305, 319, 322, 326, 327, 329, 337, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 425, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 582, 584, 613, 620, 630, 633, 653, 656, 657, 658, 663, 666, 672, 676, 677, 691, 692, 701, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 805, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(64, SumMonoid(27906)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(20, SumMonoid(2453)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(20, SumMonoid(7374)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(8, SumMonoid(422)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(7, SumMonoid(916)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 326), fp: EncodedCountingMonoid(7, SumMonoid(1986)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 107), items: [77, 103], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(242, true), (245, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (103, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277, 326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true), (326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 103, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 75, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 103, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 247, 269, 277, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(63, SumMonoid(27803)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(20, SumMonoid(2597)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(19, SumMonoid(7127)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 75), fp: EncodedCountingMonoid(7, SumMonoid(347)) }, Fingerprint { range: Range(75, 171), fp: EncodedCountingMonoid(7, SumMonoid(888)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 326), fp: EncodedCountingMonoid(6, SumMonoid(1739)) }, Fingerprint { range: Range(326, 403), fp: EncodedCountingMonoid(6, SumMonoid(2109)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(326, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 326), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(326, 368), fp: EncodedCountingMonoid(3, SumMonoid(992)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 75), items: [61, 62, 66, 69], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 326), items: [305, 322], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(326, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 242, 245, 247, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(326, 359), items: [326, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (242, true), (245, true), (247, true), (305, true), (322, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (75, true), (77, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [326, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(326, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 326, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 242, 245, 247, 305, 322, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 269, 277, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 326, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(62, SumMonoid(27477)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(19, SumMonoid(2350)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(19, SumMonoid(7048)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 75), fp: EncodedCountingMonoid(7, SumMonoid(347)) }, Fingerprint { range: Range(75, 171), fp: EncodedCountingMonoid(7, SumMonoid(888)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(6, SumMonoid(1664)) }, Fingerprint { range: Range(322, 403), fp: EncodedCountingMonoid(6, SumMonoid(2105)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }, Fingerprint { range: Range(322, 368), fp: EncodedCountingMonoid(3, SumMonoid(988)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 75), items: [61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(242, true), (245, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }, ItemSet { range: Range(322, 359), items: [327, 343], want_response: true }, ItemSet { range: Range(359, 368), items: [359], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }, ItemSet { range: Range(322, 359), items: [322, 329, 337], want_response: false }, ItemSet { range: Range(359, 368), items: [], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (75, true), (77, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277, 322, 329, 337], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true), (327, true), (343, true), (359, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true), (322, true), (329, true), (337, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 329, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275, 327, 343, 359] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 279, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 247, 269, 277, 322, 329, 337] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(61, SumMonoid(27148)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(19, SumMonoid(2350)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(18, SumMonoid(6719)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 75), fp: EncodedCountingMonoid(7, SumMonoid(347)) }, Fingerprint { range: Range(75, 171), fp: EncodedCountingMonoid(7, SumMonoid(888)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(6, SumMonoid(1664)) }, Fingerprint { range: Range(322, 403), fp: EncodedCountingMonoid(5, SumMonoid(1776)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 35, 38], want_response: false }, ItemSet { range: Range(47, 75), items: [61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 368), items: [322, 337], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(242, true), (245, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }], wants: [16, 35, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275], provide: [(16, true), (35, true), (38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (75, true), (77, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (322, true), (337, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (327, true), (343, true), (359, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 35, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 701, 816, 846, 16, 35, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 166, 167, 190, 200, 238, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 247, 269, 277] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(60, SumMonoid(27113)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 247), fp: EncodedCountingMonoid(18, SumMonoid(2315)) }, Fingerprint { range: Range(247, 541), fp: EncodedCountingMonoid(18, SumMonoid(6719)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 247), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(247, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 77), fp: EncodedCountingMonoid(7, SumMonoid(387)) }, Fingerprint { range: Range(77, 171), fp: EncodedCountingMonoid(6, SumMonoid(813)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(6, SumMonoid(1664)) }, Fingerprint { range: Range(322, 403), fp: EncodedCountingMonoid(5, SumMonoid(1776)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [242, 245, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }], item_sets: [ItemSet { range: Range(16, 47), items: [16, 38], want_response: false }, ItemSet { range: Range(47, 77), items: [61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 166), items: [146, 150], want_response: true }, ItemSet { range: Range(166, 171), items: [166, 167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 368), items: [322, 337], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(242, true), (245, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 166), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(166, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }], wants: [16, 38, 61, 62, 66, 69, 75, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 166, 167, 190, 200, 238, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275], provide: [(16, true), (38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (166, true), (167, true), (190, true), (200, true), (238, true), (279, true), (322, true), (337, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (281, true), (327, true), (343, true), (359, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 166, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911, 275] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 245, 701, 816, 846, 16, 38, 61, 62, 66, 69, 75, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 166, 167, 190, 200, 238, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905, 247, 269, 277] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(59, SumMonoid(26947)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(18, SumMonoid(2396)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(17, SumMonoid(6472)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 75), fp: EncodedCountingMonoid(6, SumMonoid(312)) }, Fingerprint { range: Range(75, 171), fp: EncodedCountingMonoid(6, SumMonoid(722)) }, Fingerprint { range: Range(171, 242), fp: EncodedCountingMonoid(3, SumMonoid(628)) }, Fingerprint { range: Range(242, 269), fp: EncodedCountingMonoid(3, SumMonoid(734)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 403), fp: EncodedCountingMonoid(5, SumMonoid(1776)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 242), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(242, 269), items: [246], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(16, 47), items: [16, 38], want_response: false }, ItemSet { range: Range(47, 75), items: [61, 62, 66, 69], want_response: false }, ItemSet { range: Range(242, 269), items: [242, 245, 247], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 171), items: [167], want_response: true }, ItemSet { range: Range(171, 230), items: [190, 200], want_response: true }, ItemSet { range: Range(230, 242), items: [238], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 368), items: [322, 337], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 242), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [16, 38, 61, 62, 66, 69, 242, 245, 247, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 167, 190, 200, 238, 269, 277, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (246, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911], provide: [(16, true), (38, true), (61, true), (62, true), (66, true), (69, true), (242, true), (245, true), (247, true), (305, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (75, true), (77, true), (146, true), (150, true), (167, true), (190, true), (200, true), (238, true), (269, true), (277, true), (279, true), (322, true), (337, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (327, true), (343, true), (359, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 190, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 246, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [701, 816, 846, 16, 38, 61, 62, 66, 69, 242, 245, 247, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 167, 190, 200, 238, 269, 277, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 975), fp: EncodedCountingMonoid(58, SumMonoid(26757)) }], item_sets: [ItemSet { range: Range(975, 16), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 541), fp: EncodedCountingMonoid(42, SumMonoid(11287)) }, Fingerprint { range: Range(541, 975), fp: EncodedCountingMonoid(41, SumMonoid(30372)) }], item_sets: [ItemSet { range: Range(975, 16), items: [981, 982, 991, 8], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 269), fp: EncodedCountingMonoid(17, SumMonoid(2206)) }, Fingerprint { range: Range(269, 541), fp: EncodedCountingMonoid(17, SumMonoid(6472)) }, Fingerprint { range: Range(541, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(16, 171), fp: EncodedCountingMonoid(11, SumMonoid(1060)) }, Fingerprint { range: Range(171, 269), fp: EncodedCountingMonoid(11, SumMonoid(2418)) }, Fingerprint { range: Range(269, 403), fp: EncodedCountingMonoid(10, SumMonoid(3262)) }, Fingerprint { range: Range(403, 541), fp: EncodedCountingMonoid(10, SumMonoid(4547)) }, Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(16, 75), fp: EncodedCountingMonoid(6, SumMonoid(312)) }, Fingerprint { range: Range(75, 171), fp: EncodedCountingMonoid(6, SumMonoid(722)) }, Fingerprint { range: Range(171, 245), fp: EncodedCountingMonoid(3, SumMonoid(680)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 403), fp: EncodedCountingMonoid(5, SumMonoid(1776)) }, Fingerprint { range: Range(403, 489), fp: EncodedCountingMonoid(4, SumMonoid(1729)) }, Fingerprint { range: Range(489, 541), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(245, 269), items: [245, 247], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 171), fp: EncodedCountingMonoid(3, SumMonoid(443)) }, Fingerprint { range: Range(171, 230), fp: EncodedCountingMonoid(5, SumMonoid(992)) }, Fingerprint { range: Range(230, 245), fp: EncodedCountingMonoid(5, SumMonoid(1180)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(403, 438), fp: EncodedCountingMonoid(4, SumMonoid(1691)) }, Fingerprint { range: Range(438, 489), fp: EncodedCountingMonoid(4, SumMonoid(1814)) }, Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(245, 269), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(16, 47), items: [20, 24], want_response: true }, ItemSet { range: Range(47, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(374, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [245, 247, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(16, 47), items: [16, 38], want_response: false }, ItemSet { range: Range(47, 75), items: [61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(374, 403), items: [378], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 171), items: [167], want_response: true }, ItemSet { range: Range(171, 230), items: [200], want_response: true }, ItemSet { range: Range(230, 245), items: [238, 242], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 368), items: [322, 337], want_response: true }, ItemSet { range: Range(368, 374), items: [368, 371], want_response: true }, ItemSet { range: Range(403, 429), items: [417, 425], want_response: true }, ItemSet { range: Range(429, 438), items: [429], want_response: true }, ItemSet { range: Range(438, 489), items: [458], want_response: true }, ItemSet { range: Range(541, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(245, true), (247, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 171), items: [], want_response: false }, ItemSet { range: Range(171, 230), items: [171, 180, 205, 208, 228], want_response: false }, ItemSet { range: Range(230, 245), items: [230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(368, 374), items: [], want_response: false }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: false }, ItemSet { range: Range(429, 438), items: [429, 435], want_response: false }, ItemSet { range: Range(438, 489), items: [438, 441, 465, 470], want_response: false }, ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [16, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (20, true), (24, true), (47, true), (64, true), (296, true), (319, true), (374, true), (401, true), (516, true), (526, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911], provide: [(16, true), (38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (378, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (75, true), (77, true), (146, true), (150, true), (167, true), (200, true), (238, true), (242, true), (269, true), (277, true), (279, true), (322, true), (337, true), (368, true), (371, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (327, true), (343, true), (359, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (541, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {16, 38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 246, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 20, 24, 47, 64, 296, 319, 374, 401, 516, 526, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 403, 424, 435, 438, 441, 465, 470, 541, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [245, 247, 701, 816, 846, 16, 38, 61, 62, 66, 69, 305, 378, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 75, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 337, 368, 371, 417, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(57, SumMonoid(26741)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 277), fp: EncodedCountingMonoid(17, SumMonoid(2459)) }, Fingerprint { range: Range(277, 549), fp: EncodedCountingMonoid(16, SumMonoid(6203)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(12, SumMonoid(10462)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 277), fp: EncodedCountingMonoid(10, SumMonoid(2342)) }, Fingerprint { range: Range(277, 424), fp: EncodedCountingMonoid(10, SumMonoid(3390)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 205), fp: EncodedCountingMonoid(6, SumMonoid(847)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(3, SumMonoid(725)) }, Fingerprint { range: Range(277, 337), fp: EncodedCountingMonoid(5, SumMonoid(1470)) }, Fingerprint { range: Range(337, 424), fp: EncodedCountingMonoid(5, SumMonoid(1871)) }, Fingerprint { range: Range(424, 489), fp: EncodedCountingMonoid(3, SumMonoid(1312)) }, Fingerprint { range: Range(489, 549), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(777, 816), fp: EncodedCountingMonoid(3, SumMonoid(2391)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(247, 277), items: [247, 269], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 148), fp: EncodedCountingMonoid(5, SumMonoid(604)) }, Fingerprint { range: Range(148, 205), fp: EncodedCountingMonoid(4, SumMonoid(652)) }, Fingerprint { range: Range(205, 237), fp: EncodedCountingMonoid(5, SumMonoid(1105)) }, Fingerprint { range: Range(237, 247), fp: EncodedCountingMonoid(4, SumMonoid(962)) }, Fingerprint { range: Range(277, 319), fp: EncodedCountingMonoid(3, SumMonoid(864)) }, Fingerprint { range: Range(337, 401), fp: EncodedCountingMonoid(3, SumMonoid(1076)) }, Fingerprint { range: Range(424, 441), fp: EncodedCountingMonoid(4, SumMonoid(1726)) }, Fingerprint { range: Range(441, 489), fp: EncodedCountingMonoid(3, SumMonoid(1376)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(777, 810), fp: EncodedCountingMonoid(3, SumMonoid(2379)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(247, 277), items: [275], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(319, 337), items: [319, 327], want_response: true }, ItemSet { range: Range(401, 424), items: [401, 403], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(541, 549), items: [541], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(810, 816), items: [810, 815], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [247, 269, 701, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(319, 337), items: [322], want_response: false }, ItemSet { range: Range(401, 424), items: [417], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(541, 549), items: [], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(810, 816), items: [], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 146), items: [77, 107], want_response: true }, ItemSet { range: Range(146, 148), items: [146], want_response: true }, ItemSet { range: Range(148, 200), items: [150, 167], want_response: true }, ItemSet { range: Range(200, 205), items: [200], want_response: true }, ItemSet { range: Range(205, 237), items: [], want_response: true }, ItemSet { range: Range(237, 245), items: [238, 242], want_response: true }, ItemSet { range: Range(245, 247), items: [245], want_response: true }, ItemSet { range: Range(277, 287), items: [277, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(337, 371), items: [337, 368], want_response: true }, ItemSet { range: Range(371, 401), items: [371, 378], want_response: true }, ItemSet { range: Range(424, 441), items: [425, 429], want_response: true }, ItemSet { range: Range(441, 489), items: [458], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(777, 809), items: [777, 805], want_response: true }, ItemSet { range: Range(809, 810), items: [809], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [275, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 47, 64, 319, 327, 401, 403, 516, 526, 541, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959], provide: [(247, true), (269, true), (701, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 146), items: [95, 107, 119, 141, 142], want_response: false }, ItemSet { range: Range(146, 148), items: [], want_response: false }, ItemSet { range: Range(148, 200), items: [148, 153, 171, 180], want_response: false }, ItemSet { range: Range(200, 205), items: [], want_response: false }, ItemSet { range: Range(205, 237), items: [205, 208, 228, 230, 234], want_response: false }, ItemSet { range: Range(237, 245), items: [237, 239, 240], want_response: false }, ItemSet { range: Range(245, 247), items: [246], want_response: false }, ItemSet { range: Range(277, 287), items: [281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(337, 371), items: [343, 359], want_response: false }, ItemSet { range: Range(371, 401), items: [374], want_response: false }, ItemSet { range: Range(424, 441), items: [424, 429, 435, 438], want_response: false }, ItemSet { range: Range(441, 489), items: [441, 465, 470], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 810), items: [], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 322, 417, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 245, 277, 279, 305, 337, 368, 371, 378, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905], provide: [(275, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (319, true), (327, true), (401, true), (403, true), (516, true), (526, true), (541, true), (656, true), (657, true), (663, true), (666, true), (676, true), (810, true), (815, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 281, 296, 343, 359, 374, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (322, true), (417, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (200, true), (238, true), (242, true), (245, true), (277, true), (279, true), (305, true), (337, true), (368, true), (371, true), (378, true), (425, true), (458, true), (556, true), (613, true), (633, true), (805, true), (809, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (281, true), (296, true), (343, true), (359, true), (374, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (799, true), (803, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 805, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 275, 702, 710, 719, 734, 737, 739, 756, 818, 819, 830, 840, 47, 64, 319, 327, 401, 403, 516, 526, 541, 656, 657, 663, 666, 676, 810, 815, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 281, 296, 343, 359, 374, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 799, 803, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [247, 269, 701, 816, 846, 38, 61, 62, 66, 69, 75, 322, 417, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 245, 277, 279, 305, 337, 368, 371, 378, 425, 458, 556, 613, 633, 805, 809, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(56, SumMonoid(25936)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 277), fp: EncodedCountingMonoid(17, SumMonoid(2459)) }, Fingerprint { range: Range(277, 549), fp: EncodedCountingMonoid(16, SumMonoid(6203)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 277), fp: EncodedCountingMonoid(10, SumMonoid(2342)) }, Fingerprint { range: Range(277, 424), fp: EncodedCountingMonoid(10, SumMonoid(3390)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 205), fp: EncodedCountingMonoid(6, SumMonoid(847)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(3, SumMonoid(725)) }, Fingerprint { range: Range(277, 337), fp: EncodedCountingMonoid(5, SumMonoid(1470)) }, Fingerprint { range: Range(337, 424), fp: EncodedCountingMonoid(5, SumMonoid(1871)) }, Fingerprint { range: Range(424, 489), fp: EncodedCountingMonoid(3, SumMonoid(1312)) }, Fingerprint { range: Range(489, 549), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(247, 277), items: [247, 269], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 148), fp: EncodedCountingMonoid(5, SumMonoid(604)) }, Fingerprint { range: Range(148, 205), fp: EncodedCountingMonoid(4, SumMonoid(652)) }, Fingerprint { range: Range(205, 237), fp: EncodedCountingMonoid(5, SumMonoid(1105)) }, Fingerprint { range: Range(237, 247), fp: EncodedCountingMonoid(4, SumMonoid(962)) }, Fingerprint { range: Range(277, 319), fp: EncodedCountingMonoid(3, SumMonoid(864)) }, Fingerprint { range: Range(337, 401), fp: EncodedCountingMonoid(3, SumMonoid(1076)) }, Fingerprint { range: Range(424, 441), fp: EncodedCountingMonoid(4, SumMonoid(1726)) }, Fingerprint { range: Range(441, 489), fp: EncodedCountingMonoid(3, SumMonoid(1376)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(247, 277), items: [275], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(319, 337), items: [319, 327], want_response: true }, ItemSet { range: Range(401, 424), items: [401, 403], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(541, 549), items: [541], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [247, 269, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(319, 337), items: [322], want_response: false }, ItemSet { range: Range(401, 424), items: [417], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(541, 549), items: [], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 146), items: [77, 107], want_response: true }, ItemSet { range: Range(146, 148), items: [146], want_response: true }, ItemSet { range: Range(148, 200), items: [150, 167], want_response: true }, ItemSet { range: Range(200, 205), items: [200], want_response: true }, ItemSet { range: Range(205, 237), items: [], want_response: true }, ItemSet { range: Range(237, 245), items: [238, 242], want_response: true }, ItemSet { range: Range(245, 247), items: [245], want_response: true }, ItemSet { range: Range(277, 287), items: [277, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(337, 371), items: [337, 368], want_response: true }, ItemSet { range: Range(371, 401), items: [371, 378], want_response: true }, ItemSet { range: Range(424, 441), items: [425, 429], want_response: true }, ItemSet { range: Range(441, 489), items: [458], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [275, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 319, 327, 401, 403, 516, 526, 541, 656, 657, 663, 666, 676, 935, 944, 959], provide: [(247, true), (269, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 146), items: [95, 107, 119, 141, 142], want_response: false }, ItemSet { range: Range(146, 148), items: [], want_response: false }, ItemSet { range: Range(148, 200), items: [148, 153, 171, 180], want_response: false }, ItemSet { range: Range(200, 205), items: [], want_response: false }, ItemSet { range: Range(205, 237), items: [205, 208, 228, 230, 234], want_response: false }, ItemSet { range: Range(237, 245), items: [237, 239, 240], want_response: false }, ItemSet { range: Range(245, 247), items: [246], want_response: false }, ItemSet { range: Range(277, 287), items: [281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(337, 371), items: [343, 359], want_response: false }, ItemSet { range: Range(371, 401), items: [374], want_response: false }, ItemSet { range: Range(424, 441), items: [424, 429, 435, 438], want_response: false }, ItemSet { range: Range(441, 489), items: [441, 465, 470], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 322, 417, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 245, 277, 279, 305, 337, 368, 371, 378, 425, 458, 556, 613, 633, 864, 883, 899, 905], provide: [(275, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (319, true), (327, true), (401, true), (403, true), (516, true), (526, true), (541, true), (656, true), (657, true), (663, true), (666, true), (676, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 281, 296, 343, 359, 374, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (322, true), (417, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (200, true), (238, true), (242, true), (245, true), (277, true), (279, true), (305, true), (337, true), (368, true), (371, true), (378, true), (425, true), (458, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (281, true), (296, true), (343, true), (359, true), (374, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 337, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 275, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 319, 327, 401, 403, 516, 526, 541, 656, 657, 663, 666, 676, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 281, 296, 343, 359, 374, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [247, 269, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 322, 417, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 245, 277, 279, 305, 337, 368, 371, 378, 425, 458, 556, 613, 633, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(55, SumMonoid(25599)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(16, SumMonoid(2190)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(16, SumMonoid(6135)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(180, 245), fp: EncodedCountingMonoid(3, SumMonoid(680)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(424, 489), fp: EncodedCountingMonoid(3, SumMonoid(1312)) }, Fingerprint { range: Range(489, 549), fp: EncodedCountingMonoid(3, SumMonoid(1550)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(245, 269), items: [245, 247], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(180, 234), fp: EncodedCountingMonoid(5, SumMonoid(1051)) }, Fingerprint { range: Range(234, 245), fp: EncodedCountingMonoid(4, SumMonoid(950)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(424, 441), fp: EncodedCountingMonoid(4, SumMonoid(1726)) }, Fingerprint { range: Range(441, 489), fp: EncodedCountingMonoid(3, SumMonoid(1376)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(245, 269), items: [246], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(489, 541), items: [516, 526], want_response: true }, ItemSet { range: Range(541, 549), items: [541], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [245, 247, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(489, 541), items: [489, 521, 540], want_response: false }, ItemSet { range: Range(541, 549), items: [], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(180, 234), items: [200], want_response: true }, ItemSet { range: Range(234, 245), items: [238, 242], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(424, 441), items: [425, 429], want_response: true }, ItemSet { range: Range(441, 489), items: [458], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 516, 526, 541, 656, 657, 663, 666, 676, 935, 944, 959], provide: [(245, true), (247, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(180, 234), items: [180, 205, 208, 228, 230], want_response: false }, ItemSet { range: Range(234, 245), items: [234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(424, 441), items: [424, 429, 435, 438], want_response: false }, ItemSet { range: Range(441, 489), items: [441, 465, 470], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 368, 371, 378, 417, 425, 458, 556, 613, 633, 864, 883, 899, 905], provide: [(246, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (296, true), (319, true), (516, true), (526, true), (541, true), (656, true), (657, true), (663, true), (666, true), (676, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 374, 401, 403, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (489, true), (521, true), (540, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (200, true), (238, true), (242, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (425, true), (458, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (435, true), (438, true), (441, true), (465, true), (470, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 425, 429, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 246, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 516, 526, 541, 656, 657, 663, 666, 676, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 374, 401, 403, 424, 435, 438, 441, 465, 470, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [245, 247, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 305, 489, 521, 540, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 368, 371, 378, 417, 425, 458, 556, 613, 633, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 425, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(54, SumMonoid(25170)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(16, SumMonoid(2190)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(15, SumMonoid(5706)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(180, 245), fp: EncodedCountingMonoid(3, SumMonoid(680)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(424, 521), fp: EncodedCountingMonoid(3, SumMonoid(1372)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(245, 269), items: [245, 247], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(180, 234), fp: EncodedCountingMonoid(5, SumMonoid(1051)) }, Fingerprint { range: Range(234, 245), fp: EncodedCountingMonoid(4, SumMonoid(950)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(424, 441), fp: EncodedCountingMonoid(4, SumMonoid(1726)) }, Fingerprint { range: Range(441, 521), fp: EncodedCountingMonoid(4, SumMonoid(1892)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(245, 269), items: [246], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [245, 247, 521, 540, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(180, 234), items: [200], want_response: true }, ItemSet { range: Range(234, 245), items: [238, 242], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(424, 441), items: [425], want_response: true }, ItemSet { range: Range(441, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [246, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959], provide: [(245, true), (247, true), (521, true), (540, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(180, 234), items: [180, 205, 208, 228, 230], want_response: false }, ItemSet { range: Range(234, 245), items: [234, 237, 239, 240], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(424, 441), items: [424, 429, 435, 438], want_response: false }, ItemSet { range: Range(441, 521), items: [441, 465, 470, 516], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 368, 371, 378, 417, 425, 458, 489, 556, 613, 633, 864, 883, 899, 905], provide: [(246, true), (526, true), (541, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (296, true), (319, true), (656, true), (657, true), (663, true), (666, true), (676, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (200, true), (238, true), (242, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (425, true), (458, true), (489, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 425, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 246, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 275, 281, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [245, 247, 521, 540, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 200, 238, 242, 269, 277, 279, 322, 368, 371, 378, 417, 425, 458, 489, 556, 613, 633, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(53, SumMonoid(24745)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(15, SumMonoid(1943)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(15, SumMonoid(5528)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(6, SumMonoid(1664)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(180, 242), items: [200, 238], want_response: true }, ItemSet { range: Range(242, 247), items: [242, 245], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(180, 242), items: [180, 205, 208, 228, 230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(242, 247), items: [246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [200, 238, 242, 245, 458, 489, 521, 540, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(247, 279), fp: EncodedCountingMonoid(3, SumMonoid(793)) }], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959], provide: [(200, true), (238, true), (242, true), (245, true), (458, true), (489, true), (521, true), (540, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: true }], wants: [38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (296, true), (319, true), (656, true), (657, true), (663, true), (666, true), (676, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(247, 279), items: [247, 269, 277], want_response: false }], wants: [95, 119, 141, 142, 148, 153, 171, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911, 275], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [247, 269, 277], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (275, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(247, true), (269, true), (277, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 245, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911, 275] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 238, 242, 245, 458, 489, 521, 540, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905, 247, 269, 277] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(52, SumMonoid(24500)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(15, SumMonoid(1945)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(14, SumMonoid(5281)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(12, SumMonoid(7617)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(663, 692), fp: EncodedCountingMonoid(3, SumMonoid(2040)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(180, 242), items: [200, 238], want_response: true }, ItemSet { range: Range(242, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 777), items: [692, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(180, 242), items: [180, 205, 208, 228, 230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(242, 269), items: [246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(663, 676), items: [663, 666], want_response: true }, ItemSet { range: Range(676, 692), items: [676], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [200, 238, 242, 247, 458, 489, 521, 540, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(663, 676), items: [672], want_response: false }, ItemSet { range: Range(676, 692), items: [677, 691], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959], provide: [(200, true), (238, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (296, true), (319, true), (656, true), (657, true), (663, true), (666, true), (676, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (658, true), (672, true), (677, true), (691, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 692, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 663, 666, 676, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 238, 242, 247, 458, 489, 521, 540, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 305, 658, 672, 677, 691, 914, 970, 974, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(51, SumMonoid(23808)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(15, SumMonoid(1945)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(14, SumMonoid(5281)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(11, SumMonoid(6925)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(11, SumMonoid(9657)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(3, SumMonoid(1904)) }, Fingerprint { range: Range(855, 914), fp: EncodedCountingMonoid(4, SumMonoid(3551)) }, Fingerprint { range: Range(914, 975), fp: EncodedCountingMonoid(3, SumMonoid(2858)) }], item_sets: [ItemSet { range: Range(180, 242), items: [200, 238], want_response: true }, ItemSet { range: Range(242, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(663, 691), items: [672, 677], want_response: true }, ItemSet { range: Range(691, 777), items: [691, 701], want_response: true }, ItemSet { range: Range(777, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 855), items: [816, 846], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 656), fp: EncodedCountingMonoid(3, SumMonoid(1903)) }, Fingerprint { range: Range(855, 885), fp: EncodedCountingMonoid(3, SumMonoid(2602)) }, Fingerprint { range: Range(885, 914), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }], item_sets: [ItemSet { range: Range(180, 242), items: [180, 205, 208, 228, 230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(242, 269), items: [246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(663, 691), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(691, 777), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 855), items: [818, 819, 830, 840], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(656, 663), items: [656, 657], want_response: true }, ItemSet { range: Range(914, 959), items: [935, 944], want_response: true }, ItemSet { range: Range(959, 975), items: [959], want_response: true }], wants: [200, 238, 242, 247, 458, 489, 521, 540, 672, 677, 691, 701, 809, 816, 846], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(656, 663), items: [658], want_response: false }, ItemSet { range: Range(914, 959), items: [914], want_response: false }, ItemSet { range: Range(959, 975), items: [970, 974], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 656), items: [613, 633], want_response: true }, ItemSet { range: Range(855, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 935, 944, 959], provide: [(200, true), (238, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (672, true), (677, true), (691, true), (701, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 656), items: [620, 630, 653], want_response: false }, ItemSet { range: Range(855, 885), items: [855, 863, 884], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 658, 914, 970, 974, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (47, true), (64, true), (296, true), (319, true), (656, true), (657, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (658, true), (914, true), (970, true), (974, true), (77, true), (146, true), (150, true), (167, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (633, true), (864, true), (883, true), (899, true), (905, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 701, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 47, 64, 296, 319, 656, 657, 935, 944, 959, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 238, 242, 247, 458, 489, 521, 540, 672, 677, 691, 701, 809, 816, 846, 38, 61, 62, 66, 69, 75, 305, 658, 914, 970, 974, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 864, 883, 899, 905] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(50, SumMonoid(23107)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(15, SumMonoid(1945)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(14, SumMonoid(5281)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(11, SumMonoid(7001)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(10, SumMonoid(8880)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 676), fp: EncodedCountingMonoid(4, SumMonoid(2576)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 242), items: [200, 238], want_response: true }, ItemSet { range: Range(242, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 676), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 242), items: [180, 205, 208, 228, 230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(242, 269), items: [246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 238, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613, 633], want_response: true }, ItemSet { range: Range(657, 676), items: [658, 672], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319], provide: [(200, true), (238, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 676), items: [657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 658, 672, 809, 816, 846, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (77, true), (146, true), (150, true), (167, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (633, true), (658, true), (672, true), (809, true), (816, true), (846, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 238, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 238, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 658, 672, 809, 816, 846, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(49, SumMonoid(22869)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(14, SumMonoid(5281)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(11, SumMonoid(7001)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(10, SumMonoid(8880)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 676), fp: EncodedCountingMonoid(4, SumMonoid(2576)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 676), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613, 633], want_response: true }, ItemSet { range: Range(657, 676), items: [658, 672], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 676), items: [657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 658, 672, 809, 816, 846, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (77, true), (146, true), (150, true), (167, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (633, true), (658, true), (672, true), (809, true), (816, true), (846, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 633, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 633, 658, 672, 809, 816, 846, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(48, SumMonoid(22236)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(14, SumMonoid(5281)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(10, SumMonoid(6368)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(10, SumMonoid(8880)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(5, SumMonoid(1417)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 676), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 676), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 279), items: [269, 277], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 676), items: [658, 672], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 676), items: [657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 658, 672, 809, 816, 846, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (77, true), (146, true), (150, true), (167, true), (269, true), (277, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (658, true), (672, true), (809, true), (816, true), (846, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 277, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 269, 277, 279, 322, 368, 371, 378, 417, 556, 613, 658, 672, 809, 816, 846, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(47, SumMonoid(21959)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(10, SumMonoid(6368)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(10, SumMonoid(8880)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 676), fp: EncodedCountingMonoid(3, SumMonoid(1943)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 676), fp: EncodedCountingMonoid(3, SumMonoid(1986)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 676), items: [658, 672], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 676), items: [657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 672, 809, 816, 846, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (672, true), (809, true), (816, true), (846, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 672, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 672, 809, 816, 846, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(46, SumMonoid(21287)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 971), fp: EncodedCountingMonoid(45, SumMonoid(20313)) }], item_sets: [ItemSet { range: Range(971, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 971), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(971, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(9, SumMonoid(5696)) }, Fingerprint { range: Range(809, 971), fp: EncodedCountingMonoid(9, SumMonoid(7906)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 971), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 676), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 971), items: [914, 970], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 656), fp: EncodedCountingMonoid(4, SumMonoid(2487)) }, Fingerprint { range: Range(656, 676), fp: EncodedCountingMonoid(4, SumMonoid(2642)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 971), items: [935, 944, 959], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 899, 905, 914, 970], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 676), items: [658], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 579], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (899, true), (905, true), (914, true), (970, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 676), items: [656, 657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 581, 77, 146, 150, 167, 269, 279, 305, 322, 556, 582, 613, 658, 809, 816, 846], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (581, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (582, true), (613, true), (658, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 579, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 899, 905, 914, 970, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 581, 77, 146, 150, 167, 269, 279, 305, 322, 556, 582, 613, 658, 809, 816, 846] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(46, SumMonoid(21287)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(45, SumMonoid(20382)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(9, SumMonoid(5696)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(9, SumMonoid(7975)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 676), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }, Fingerprint { range: Range(809, 864), fp: EncodedCountingMonoid(3, SumMonoid(2471)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(884, 970), items: [899, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 656), fp: EncodedCountingMonoid(4, SumMonoid(2487)) }, Fingerprint { range: Range(656, 676), fp: EncodedCountingMonoid(4, SumMonoid(2642)) }, Fingerprint { range: Range(809, 830), fp: EncodedCountingMonoid(4, SumMonoid(3262)) }, Fingerprint { range: Range(830, 864), fp: EncodedCountingMonoid(4, SumMonoid(3388)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(884, 970), items: [884, 885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 899, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 676), items: [658], want_response: true }, ItemSet { range: Range(809, 830), items: [809, 816], want_response: true }, ItemSet { range: Range(830, 864), items: [846], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 579], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (677, true), (691, true), (864, true), (883, true), (899, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 676), items: [656, 657, 663, 666], want_response: false }, ItemSet { range: Range(809, 830), items: [810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 864), items: [830, 840, 855, 863], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 581, 77, 146, 150, 167, 269, 279, 305, 322, 556, 582, 613, 658, 809, 816, 846], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (581, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (582, true), (613, true), (658, true), (809, true), (816, true), (846, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 579, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 810, 815, 818, 819, 830, 840, 855, 863] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 677, 691, 864, 883, 899, 914, 970, 974, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 581, 77, 146, 150, 167, 269, 279, 305, 322, 556, 582, 613, 658, 809, 816, 846] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 540, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(46, SumMonoid(21287)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(14, SumMonoid(1707)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(13, SumMonoid(5004)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521, 540], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (540, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (77, true), (146, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 540, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 540, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 368, 371, 378, 417, 77, 146, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(45, SumMonoid(20747)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(13, SumMonoid(1460)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(13, SumMonoid(4711)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (521, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (77, true), (146, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(44, SumMonoid(19931)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(13, SumMonoid(1460)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(13, SumMonoid(4711)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(9, SumMonoid(5696)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(9, SumMonoid(8064)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 676), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(809, 864), items: [809, 846], want_response: true }, ItemSet { range: Range(864, 884), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 656), fp: EncodedCountingMonoid(4, SumMonoid(2487)) }, Fingerprint { range: Range(656, 676), fp: EncodedCountingMonoid(4, SumMonoid(2642)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 864), items: [810, 815, 818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 884), items: [], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [200, 242, 458, 489, 521, 677, 691, 809, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 676), items: [658], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 47, 64, 296, 319, 579], provide: [(200, true), (242, true), (458, true), (489, true), (521, true), (677, true), (691, true), (809, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 676), items: [656, 657, 663, 666], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 581, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 582, 613, 658, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (47, true), (64, true), (296, true), (319, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (581, true), (77, true), (146, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (582, true), (613, true), (658, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 47, 64, 296, 319, 579, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 521, 677, 691, 809, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 581, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 582, 613, 658, 899, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 146, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 521, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 818, 819, 830, 840, 846, 855, 863, 864, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(45, SumMonoid(20747)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(13, SumMonoid(1460)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(13, SumMonoid(4711)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(6, SumMonoid(371)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(5, SumMonoid(647)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 62, 66, 69, 75], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 167), items: [146, 150], want_response: true }, ItemSet { range: Range(167, 180), items: [167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (521, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 167), items: [142, 148, 153], want_response: false }, ItemSet { range: Range(167, 180), items: [171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (75, true), (305, true), (77, true), (146, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 146, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 75, 305, 77, 146, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(44, SumMonoid(20601)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(13, SumMonoid(1561)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(12, SumMonoid(4464)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(5, SumMonoid(576)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 521), items: [458, 489], want_response: true }, ItemSet { range: Range(521, 549), items: [521], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 521), items: [424, 429, 435, 438, 441, 465, 470, 516], want_response: false }, ItemSet { range: Range(521, 549), items: [526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 62, 66, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150, 167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (521, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 368, 371, 378, 417, 75, 77, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (368, true), (371, true), (378, true), (417, true), (75, true), (77, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 521, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 521, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 368, 371, 378, 417, 75, 77, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(43, SumMonoid(20080)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(12, SumMonoid(1314)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(12, SumMonoid(4190)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(5, SumMonoid(576)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150, 167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 305, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 305, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(42, SumMonoid(19216)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(12, SumMonoid(1314)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(12, SumMonoid(4190)) }, Fingerprint { range: Range(549, 809), fp: EncodedCountingMonoid(9, SumMonoid(5696)) }, Fingerprint { range: Range(809, 975), fp: EncodedCountingMonoid(9, SumMonoid(8016)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 676), fp: EncodedCountingMonoid(13, SumMonoid(7931)) }, Fingerprint { range: Range(676, 809), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(809, 884), fp: EncodedCountingMonoid(8, SumMonoid(6650)) }, Fingerprint { range: Range(884, 975), fp: EncodedCountingMonoid(7, SumMonoid(6406)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(5, SumMonoid(576)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 676), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }, Fingerprint { range: Range(884, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(676, 777), items: [677, 691], want_response: true }, ItemSet { range: Range(777, 809), items: [777], want_response: true }, ItemSet { range: Range(809, 846), items: [809, 816], want_response: true }, ItemSet { range: Range(846, 884), items: [846, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 656), fp: EncodedCountingMonoid(4, SumMonoid(2487)) }, Fingerprint { range: Range(656, 676), fp: EncodedCountingMonoid(4, SumMonoid(2642)) }, Fingerprint { range: Range(884, 935), fp: EncodedCountingMonoid(4, SumMonoid(3568)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(676, 777), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 809), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(809, 846), items: [810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 884), items: [855, 863], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [200, 242, 458, 489, 677, 691, 809, 816, 846, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150, 167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 676), items: [658], want_response: true }, ItemSet { range: Range(884, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 47, 64, 296, 319, 579], provide: [(200, true), (242, true), (458, true), (489, true), (677, true), (691, true), (809, true), (816, true), (846, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 676), items: [656, 657, 663, 666], want_response: false }, ItemSet { range: Range(884, 914), items: [884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 305, 581, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 582, 613, 658, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (47, true), (64, true), (296, true), (319, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 884, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (581, true), (75, true), (77, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (582, true), (613, true), (658, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 47, 64, 296, 319, 579, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 884, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 677, 691, 809, 816, 846, 883, 970, 974, 38, 61, 62, 66, 69, 305, 581, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 582, 613, 658, 899, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 38, 47, 61, 62, 64, 66, 69, 75, 77, 95, 107, 119, 141, 142, 148, 150, 153, 167, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 279, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 371, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 691, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 809, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 883, 884, 885, 888, 899, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(43, SumMonoid(20080)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(12, SumMonoid(1314)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(12, SumMonoid(4190)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(5, SumMonoid(296)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(5, SumMonoid(576)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(5, SumMonoid(1387)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(5, SumMonoid(1856)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 62, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150, 167], want_response: true }, ItemSet { range: Range(247, 279), items: [247, 269], want_response: true }, ItemSet { range: Range(279, 296), items: [279, 287], want_response: true }, ItemSet { range: Range(322, 371), items: [322, 368], want_response: true }, ItemSet { range: Range(371, 374), items: [371], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(247, 279), items: [275], want_response: false }, ItemSet { range: Range(279, 296), items: [281, 287], want_response: false }, ItemSet { range: Range(322, 371), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(371, 374), items: [], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 62, 66, 69, 305, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (62, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (167, true), (247, true), (269, true), (279, true), (322, true), (368, true), (371, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 62, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 62, 66, 69, 305, 75, 77, 150, 167, 247, 269, 279, 322, 368, 371, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(42, SumMonoid(20018)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(12, SumMonoid(1499)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(11, SumMonoid(3943)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(5, SumMonoid(309)) }, Fingerprint { range: Range(77, 180), fp: EncodedCountingMonoid(4, SumMonoid(501)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 66, 69, 75], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(77, 142), items: [77, 107], want_response: true }, ItemSet { range: Range(142, 180), items: [150, 167], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 75, 368, 371, 378, 417, 77, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (75, true), (368, true), (371, true), (378, true), (417, true), (77, true), (150, true), (167, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 167, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 75, 368, 371, 378, 417, 77, 150, 167, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(41, SumMonoid(19851)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(11, SumMonoid(1332)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(11, SumMonoid(3943)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(4, SumMonoid(409)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(5, SumMonoid(1462)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(4, SumMonoid(1534)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 371, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 319), items: [287, 305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 319), items: [287, 296], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 368, 371, 378, 417, 75, 77, 150, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (368, true), (371, true), (378, true), (417, true), (75, true), (77, true), (150, true), (269, true), (279, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 371, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 368, 371, 378, 417, 75, 77, 150, 269, 279, 305, 322, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(40, SumMonoid(19480)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(11, SumMonoid(1332)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(10, SumMonoid(3572)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(4, SumMonoid(409)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(4, SumMonoid(1140)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(4, SumMonoid(1485)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 296), items: [287], want_response: true }, ItemSet { range: Range(322, 374), items: [322, 368], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 296), items: [287], want_response: false }, ItemSet { range: Range(322, 374), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 305, 75, 77, 150, 269, 279, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (269, true), (279, true), (322, true), (368, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 305, 75, 77, 150, 269, 279, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(40, SumMonoid(19480)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(11, SumMonoid(1332)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(10, SumMonoid(3572)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(4, SumMonoid(409)) }, Fingerprint { range: Range(269, 322), fp: EncodedCountingMonoid(4, SumMonoid(1140)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(4, SumMonoid(1485)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 287), items: [269, 279], want_response: true }, ItemSet { range: Range(287, 296), items: [287], want_response: true }, ItemSet { range: Range(322, 374), items: [322, 368], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 296), items: [287], want_response: false }, ItemSet { range: Range(322, 374), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 305, 75, 77, 150, 269, 279, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (269, true), (279, true), (322, true), (368, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 279, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 305, 75, 77, 150, 269, 279, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(39, SumMonoid(19201)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(10, SumMonoid(1085)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(10, SumMonoid(3540)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(10, SumMonoid(6505)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(4, SumMonoid(409)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(4, SumMonoid(1108)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(4, SumMonoid(1485)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(4, SumMonoid(2639)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(247, 287), items: [247, 269], want_response: true }, ItemSet { range: Range(287, 296), items: [287], want_response: true }, ItemSet { range: Range(322, 374), items: [322, 368], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 691), items: [658, 677], want_response: true }, ItemSet { range: Range(691, 692), items: [691], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(247, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 296), items: [287], want_response: false }, ItemSet { range: Range(322, 374), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 691), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(691, 692), items: [], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 305, 75, 77, 150, 247, 269, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (247, true), (269, true), (322, true), (368, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (691, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 691, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 305, 75, 77, 150, 247, 269, 322, 368, 378, 417, 556, 613, 658, 677, 691, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(38, SumMonoid(18510)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 247), fp: EncodedCountingMonoid(10, SumMonoid(1085)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(10, SumMonoid(3540)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(9, SumMonoid(5814)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 247), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(4, SumMonoid(409)) }, Fingerprint { range: Range(247, 322), fp: EncodedCountingMonoid(4, SumMonoid(1108)) }, Fingerprint { range: Range(322, 424), fp: EncodedCountingMonoid(4, SumMonoid(1485)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(247, 296), fp: EncodedCountingMonoid(3, SumMonoid(843)) }, Fingerprint { range: Range(322, 374), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(374, 424), fp: EncodedCountingMonoid(3, SumMonoid(1178)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(296, 322), items: [296, 319], want_response: true }], wants: [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(296, 322), items: [305], want_response: false }, ItemSet { range: Range(75, 107), items: [75, 77], want_response: true }, ItemSet { range: Range(107, 142), items: [107], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(247, 287), items: [247, 269], want_response: true }, ItemSet { range: Range(287, 296), items: [287], want_response: true }, ItemSet { range: Range(322, 374), items: [322, 368], want_response: true }, ItemSet { range: Range(374, 424), items: [378, 417], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319], provide: [(200, true), (242, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 107), items: [95], want_response: false }, ItemSet { range: Range(107, 142), items: [107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(247, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 296), items: [287], want_response: false }, ItemSet { range: Range(322, 374), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(374, 424), items: [374, 401, 403], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 305, 75, 77, 150, 247, 269, 322, 368, 378, 417, 556, 613, 658, 677, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (296, true), (319, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (305, true), (75, true), (77, true), (150, true), (247, true), (269, true), (322, true), (368, true), (378, true), (417, true), (556, true), (613, true), (658, true), (677, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 107, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 296, 319, 95, 119, 141, 142, 148, 153, 171, 275, 281, 327, 343, 359, 374, 401, 403, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 305, 75, 77, 150, 247, 269, 322, 368, 378, 417, 556, 613, 658, 677, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 75, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(37, SumMonoid(18403)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(10, SumMonoid(1225)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(9, SumMonoid(3293)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(9, SumMonoid(5814)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 75), fp: EncodedCountingMonoid(4, SumMonoid(234)) }, Fingerprint { range: Range(75, 180), fp: EncodedCountingMonoid(3, SumMonoid(302)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(4, SumMonoid(1183)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(75, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 75), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 75), items: [38, 61, 66, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(75, 142), items: [75, 77], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(305, 319), items: [305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(75, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(305, 319), items: [], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 69, 368, 378, 417, 75, 77, 150, 269, 305, 322, 556, 613, 658, 677, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (69, true), (368, true), (378, true), (417, true), (75, true), (77, true), (150, true), (269, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 75, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 69, 368, 378, 417, 75, 77, 150, 269, 305, 322, 556, 613, 658, 677, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(36, SumMonoid(18328)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(9, SumMonoid(1150)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(9, SumMonoid(3293)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(9, SumMonoid(5814)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(9, SumMonoid(8071)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 69), fp: EncodedCountingMonoid(3, SumMonoid(165)) }, Fingerprint { range: Range(69, 180), fp: EncodedCountingMonoid(3, SumMonoid(296)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(4, SumMonoid(1183)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }, Fingerprint { range: Range(885, 970), fp: EncodedCountingMonoid(3, SumMonoid(2718)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }, Fingerprint { range: Range(885, 935), fp: EncodedCountingMonoid(3, SumMonoid(2684)) }, Fingerprint { range: Range(935, 970), fp: EncodedCountingMonoid(3, SumMonoid(2838)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 69), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 69), items: [38, 61, 66], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(69, 142), items: [69, 77], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(305, 319), items: [305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(885, 914), items: [899, 905], want_response: true }, ItemSet { range: Range(914, 935), items: [914], want_response: true }, ItemSet { range: Range(935, 970), items: [], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(69, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(305, 319), items: [], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }, ItemSet { range: Range(885, 914), items: [885, 888, 911], want_response: false }, ItemSet { range: Range(914, 935), items: [], want_response: false }, ItemSet { range: Range(935, 970), items: [935, 944, 959], want_response: false }], wants: [38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677, 899, 905, 914], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959], provide: [(38, true), (61, true), (66, true), (368, true), (378, true), (417, true), (69, true), (77, true), (150, true), (269, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true), (899, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 899, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 47, 64, 374, 401, 403, 95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 885, 888, 911, 935, 944, 959] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 970, 974, 38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677, 899, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(35, SumMonoid(17429)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(9, SumMonoid(1150)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(9, SumMonoid(3293)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(9, SumMonoid(5814)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(8, SumMonoid(7172)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 69), fp: EncodedCountingMonoid(3, SumMonoid(165)) }, Fingerprint { range: Range(69, 180), fp: EncodedCountingMonoid(3, SumMonoid(296)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(4, SumMonoid(1183)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777, 809], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 69), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 69), items: [38, 61, 66], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(69, 142), items: [69, 77], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(305, 319), items: [305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (809, true), (816, true), (846, true), (864, true), (883, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(69, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(305, 319), items: [], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (66, true), (368, true), (378, true), (417, true), (69, true), (77, true), (150, true), (269, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 809, 816, 846, 864, 883, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 809, 816, 846, 864, 883, 905, 914, 970, 974, 38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 883, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(34, SumMonoid(16620)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(9, SumMonoid(1150)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(9, SumMonoid(3293)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(8, SumMonoid(7172)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 69), fp: EncodedCountingMonoid(3, SumMonoid(165)) }, Fingerprint { range: Range(69, 180), fp: EncodedCountingMonoid(3, SumMonoid(296)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(4, SumMonoid(1183)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864, 883], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 69), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 816, 846, 864, 883, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 69), items: [38, 61, 66], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(69, 142), items: [69, 77], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(305, 319), items: [305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (816, true), (846, true), (864, true), (883, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(69, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(305, 319), items: [], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (66, true), (368, true), (378, true), (417, true), (69, true), (77, true), (150, true), (269, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 883, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 816, 846, 864, 883, 905, 914, 970, 974, 38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(33, SumMonoid(15737)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 269), fp: EncodedCountingMonoid(9, SumMonoid(1150)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(9, SumMonoid(3293)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 180), fp: EncodedCountingMonoid(10, SumMonoid(1187)) }, Fingerprint { range: Range(180, 269), fp: EncodedCountingMonoid(10, SumMonoid(2247)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 69), fp: EncodedCountingMonoid(3, SumMonoid(165)) }, Fingerprint { range: Range(69, 180), fp: EncodedCountingMonoid(3, SumMonoid(296)) }, Fingerprint { range: Range(269, 368), fp: EncodedCountingMonoid(4, SumMonoid(1183)) }, Fingerprint { range: Range(368, 424), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(180, 247), items: [200, 242], want_response: true }, ItemSet { range: Range(247, 269), items: [247], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(69, 142), fp: EncodedCountingMonoid(4, SumMonoid(462)) }, Fingerprint { range: Range(142, 180), fp: EncodedCountingMonoid(4, SumMonoid(614)) }, Fingerprint { range: Range(269, 319), fp: EncodedCountingMonoid(4, SumMonoid(1139)) }, Fingerprint { range: Range(319, 368), fp: EncodedCountingMonoid(4, SumMonoid(1348)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(180, 247), items: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 269), items: [], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 69), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 424), items: [403], want_response: true }], wants: [200, 242, 247, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 69), items: [38, 61, 66], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 424), items: [417], want_response: false }, ItemSet { range: Range(69, 142), items: [69, 77], want_response: true }, ItemSet { range: Range(142, 180), items: [150], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(305, 319), items: [305], want_response: true }, ItemSet { range: Range(319, 368), items: [322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403], provide: [(200, true), (242, true), (247, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(69, 142), items: [95, 107, 119, 141], want_response: false }, ItemSet { range: Range(142, 180), items: [142, 148, 153, 171], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(305, 319), items: [], want_response: false }, ItemSet { range: Range(319, 368), items: [319, 327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677], provide: [(180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (66, true), (368, true), (378, true), (417, true), (69, true), (77, true), (150, true), (269, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 66, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 95, 107, 119, 141, 142, 148, 153, 171, 275, 281, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [200, 242, 247, 458, 489, 816, 846, 864, 905, 914, 970, 974, 38, 61, 66, 368, 378, 417, 69, 77, 150, 269, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(32, SumMonoid(15671)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 287), fp: EncodedCountingMonoid(9, SumMonoid(1353)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(8, SumMonoid(3024)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 287), fp: EncodedCountingMonoid(11, SumMonoid(2623)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(3, SumMonoid(168)) }, Fingerprint { range: Range(77, 205), fp: EncodedCountingMonoid(3, SumMonoid(427)) }, Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(3, SumMonoid(914)) }, Fingerprint { range: Range(368, 429), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(205, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 148), fp: EncodedCountingMonoid(5, SumMonoid(604)) }, Fingerprint { range: Range(148, 205), fp: EncodedCountingMonoid(4, SumMonoid(652)) }, Fingerprint { range: Range(287, 327), fp: EncodedCountingMonoid(3, SumMonoid(902)) }, Fingerprint { range: Range(327, 368), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(205, 269), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: true }], wants: [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 429), items: [417], want_response: false }, ItemSet { range: Range(77, 148), items: [77], want_response: true }, ItemSet { range: Range(148, 205), items: [150, 200], want_response: true }, ItemSet { range: Range(287, 322), items: [287, 305], want_response: true }, ItemSet { range: Range(322, 327), items: [322], want_response: true }, ItemSet { range: Range(327, 368), items: [], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424], provide: [(242, true), (247, true), (269, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 148), items: [95, 107, 119, 141, 142], want_response: false }, ItemSet { range: Range(148, 205), items: [148, 153, 171, 180], want_response: false }, ItemSet { range: Range(287, 322), items: [287, 296, 319], want_response: false }, ItemSet { range: Range(322, 327), items: [], want_response: false }, ItemSet { range: Range(327, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 69, 368, 378, 417, 77, 150, 200, 305, 322, 556, 613, 658, 677], provide: [(205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (424, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (69, true), (368, true), (378, true), (417, true), (77, true), (150, true), (200, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424, 95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974, 38, 61, 69, 368, 378, 417, 77, 150, 200, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(31, SumMonoid(15013)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 287), fp: EncodedCountingMonoid(9, SumMonoid(1353)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(8, SumMonoid(3024)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(7, SumMonoid(4347)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 287), fp: EncodedCountingMonoid(11, SumMonoid(2623)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(3, SumMonoid(168)) }, Fingerprint { range: Range(77, 205), fp: EncodedCountingMonoid(3, SumMonoid(427)) }, Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(3, SumMonoid(914)) }, Fingerprint { range: Range(368, 429), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 692), fp: EncodedCountingMonoid(3, SumMonoid(1872)) }], item_sets: [ItemSet { range: Range(205, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 148), fp: EncodedCountingMonoid(5, SumMonoid(604)) }, Fingerprint { range: Range(148, 205), fp: EncodedCountingMonoid(4, SumMonoid(652)) }, Fingerprint { range: Range(287, 327), fp: EncodedCountingMonoid(3, SumMonoid(902)) }, Fingerprint { range: Range(327, 368), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 657), fp: EncodedCountingMonoid(5, SumMonoid(3143)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(205, 269), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 429), items: [417], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(77, 148), items: [77], want_response: true }, ItemSet { range: Range(148, 205), items: [150, 200], want_response: true }, ItemSet { range: Range(287, 322), items: [287, 305], want_response: true }, ItemSet { range: Range(322, 327), items: [322], want_response: true }, ItemSet { range: Range(327, 368), items: [], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 692), items: [677], want_response: true }], wants: [205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424, 579], provide: [(242, true), (247, true), (269, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 148), items: [95, 107, 119, 141, 142], want_response: false }, ItemSet { range: Range(148, 205), items: [148, 153, 171, 180], want_response: false }, ItemSet { range: Range(287, 322), items: [287, 296, 319], want_response: false }, ItemSet { range: Range(322, 327), items: [], want_response: false }, ItemSet { range: Range(327, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 69, 368, 378, 417, 581, 77, 150, 200, 305, 322, 556, 582, 613, 677], provide: [(205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (424, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (69, true), (368, true), (378, true), (417, true), (581, true), (77, true), (150, true), (200, true), (305, true), (322, true), (556, true), (582, true), (613, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424, 579, 95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974, 38, 61, 69, 368, 378, 417, 581, 77, 150, 200, 305, 322, 556, 582, 613, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 38, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 38, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 38, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 200, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 269, 275, 281, 287, 296, 305, 319, 322, 327, 343, 359, 368, 374, 378, 401, 403, 417, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(32, SumMonoid(15671)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 287), fp: EncodedCountingMonoid(9, SumMonoid(1353)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(8, SumMonoid(3024)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 287), fp: EncodedCountingMonoid(11, SumMonoid(2623)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(3, SumMonoid(168)) }, Fingerprint { range: Range(77, 205), fp: EncodedCountingMonoid(3, SumMonoid(427)) }, Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(3, SumMonoid(914)) }, Fingerprint { range: Range(368, 429), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(205, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 148), fp: EncodedCountingMonoid(5, SumMonoid(604)) }, Fingerprint { range: Range(148, 205), fp: EncodedCountingMonoid(4, SumMonoid(652)) }, Fingerprint { range: Range(287, 327), fp: EncodedCountingMonoid(3, SumMonoid(902)) }, Fingerprint { range: Range(327, 368), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(205, 269), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: true }], wants: [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 429), items: [417], want_response: false }, ItemSet { range: Range(77, 148), items: [77], want_response: true }, ItemSet { range: Range(148, 205), items: [150, 200], want_response: true }, ItemSet { range: Range(287, 322), items: [287, 305], want_response: true }, ItemSet { range: Range(322, 327), items: [322], want_response: true }, ItemSet { range: Range(327, 368), items: [], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424], provide: [(242, true), (247, true), (269, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(77, 148), items: [95, 107, 119, 141, 142], want_response: false }, ItemSet { range: Range(148, 205), items: [148, 153, 171, 180], want_response: false }, ItemSet { range: Range(287, 322), items: [287, 296, 319], want_response: false }, ItemSet { range: Range(322, 327), items: [], want_response: false }, ItemSet { range: Range(327, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 69, 368, 378, 417, 77, 150, 200, 305, 322, 556, 613, 658, 677], provide: [(205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (424, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (69, true), (368, true), (378, true), (417, true), (77, true), (150, true), (200, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 69, 77, 150, 200, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424, 95, 107, 119, 141, 142, 148, 153, 171, 180, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974, 38, 61, 69, 368, 378, 417, 77, 150, 200, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {38, 61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 975), fp: EncodedCountingMonoid(31, SumMonoid(15471)) }], item_sets: [ItemSet { range: Range(975, 38), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 549), fp: EncodedCountingMonoid(41, SumMonoid(11784)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 38), items: [981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 287), fp: EncodedCountingMonoid(8, SumMonoid(1153)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(8, SumMonoid(3024)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(38, 205), fp: EncodedCountingMonoid(11, SumMonoid(1367)) }, Fingerprint { range: Range(205, 287), fp: EncodedCountingMonoid(11, SumMonoid(2623)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(38, 77), fp: EncodedCountingMonoid(3, SumMonoid(168)) }, Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(3, SumMonoid(914)) }, Fingerprint { range: Range(368, 429), fp: EncodedCountingMonoid(3, SumMonoid(1163)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(77, 205), items: [77, 150], want_response: true }, ItemSet { range: Range(205, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(287, 327), fp: EncodedCountingMonoid(3, SumMonoid(902)) }, Fingerprint { range: Range(327, 368), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(77, 205), items: [95, 107, 119, 141, 142, 148, 153, 171, 180], want_response: false }, ItemSet { range: Range(205, 269), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(38, 77), items: [47, 64], want_response: true }, ItemSet { range: Range(368, 403), items: [374, 401], want_response: true }, ItemSet { range: Range(403, 429), items: [403, 424], want_response: true }], wants: [77, 150, 242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(38, 77), items: [38, 61, 69], want_response: false }, ItemSet { range: Range(368, 403), items: [368, 378], want_response: false }, ItemSet { range: Range(403, 429), items: [417], want_response: false }, ItemSet { range: Range(287, 322), items: [287, 305], want_response: true }, ItemSet { range: Range(322, 327), items: [322], want_response: true }, ItemSet { range: Range(327, 368), items: [], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424], provide: [(77, true), (150, true), (242, true), (247, true), (269, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(287, 322), items: [287, 296, 319], want_response: false }, ItemSet { range: Range(322, 327), items: [], want_response: false }, ItemSet { range: Range(327, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [38, 61, 69, 368, 378, 417, 305, 322, 556, 613, 658, 677], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (47, true), (64, true), (374, true), (401, true), (403, true), (424, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(38, true), (61, true), (69, true), (368, true), (378, true), (417, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {38, 61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 47, 64, 374, 401, 403, 424, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [77, 150, 242, 247, 269, 458, 489, 816, 846, 864, 905, 914, 970, 974, 38, 61, 69, 368, 378, 417, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(30, SumMonoid(15433)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 305), fp: EncodedCountingMonoid(8, SumMonoid(1402)) }, Fingerprint { range: Range(305, 549), fp: EncodedCountingMonoid(7, SumMonoid(2737)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 228), fp: EncodedCountingMonoid(12, SumMonoid(1733)) }, Fingerprint { range: Range(228, 305), fp: EncodedCountingMonoid(11, SumMonoid(2793)) }, Fingerprint { range: Range(305, 435), fp: EncodedCountingMonoid(9, SumMonoid(3379)) }, Fingerprint { range: Range(435, 549), fp: EncodedCountingMonoid(8, SumMonoid(3832)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(305, 378), fp: EncodedCountingMonoid(3, SumMonoid(995)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 228), items: [77, 150], want_response: true }, ItemSet { range: Range(228, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 305), items: [269, 287], want_response: true }, ItemSet { range: Range(378, 435), items: [378, 417], want_response: true }, ItemSet { range: Range(435, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(305, 359), fp: EncodedCountingMonoid(3, SumMonoid(989)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 228), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208], want_response: false }, ItemSet { range: Range(228, 269), items: [228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 305), items: [275, 281, 287, 296], want_response: false }, ItemSet { range: Range(378, 435), items: [401, 403, 424, 429], want_response: false }, ItemSet { range: Range(435, 549), items: [435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(359, 378), items: [359, 374], want_response: true }], wants: [61, 69, 77, 150, 242, 247, 269, 378, 417, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(359, 378), items: [368], want_response: false }, ItemSet { range: Range(305, 359), items: [305, 322], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 359, 374], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (269, true), (378, true), (417, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(305, 359), items: [319, 327, 343], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [368, 305, 322, 556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (359, true), (374, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [319, 327, 343, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(368, true), (305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(319, true), (327, true), (343, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 417, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 359, 374, 319, 327, 343, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 269, 378, 417, 458, 489, 816, 846, 864, 905, 914, 970, 974, 368, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(29, SumMonoid(15016)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(7, SumMonoid(1115)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(7, SumMonoid(2607)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(287, 368), fp: EncodedCountingMonoid(3, SumMonoid(914)) }, Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(368, 429), items: [368, 378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(287, 327), fp: EncodedCountingMonoid(3, SumMonoid(902)) }, Fingerprint { range: Range(327, 368), fp: EncodedCountingMonoid(3, SumMonoid(1029)) }, Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 269), items: [208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(368, 429), items: [374, 401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 69, 77, 150, 242, 247, 269, 368, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(287, 322), items: [287, 305], want_response: true }, ItemSet { range: Range(322, 327), items: [322], want_response: true }, ItemSet { range: Range(327, 368), items: [], want_response: true }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (269, true), (368, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(287, 322), items: [287, 296, 319], want_response: false }, ItemSet { range: Range(322, 327), items: [], want_response: false }, ItemSet { range: Range(327, 368), items: [327, 343, 359], want_response: false }, ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [305, 322, 556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(305, true), (322, true), (556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 269, 287, 305, 322, 368, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 296, 319, 327, 343, 359, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 269, 368, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 305, 322, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 269, 287, 322, 368, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(28, SumMonoid(14711)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(7, SumMonoid(1115)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(6, SumMonoid(2302)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 287), items: [269], want_response: true }, ItemSet { range: Range(287, 368), items: [287, 322], want_response: true }, ItemSet { range: Range(368, 429), items: [368, 378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 269), items: [208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 287), items: [275, 281], want_response: false }, ItemSet { range: Range(287, 368), items: [287, 296, 319, 327, 343, 359], want_response: false }, ItemSet { range: Range(368, 429), items: [374, 401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 69, 77, 150, 242, 247, 269, 322, 368, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (269, true), (322, true), (368, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 269, 287, 322, 368, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 269, 322, 368, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 269, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(27, SumMonoid(14343)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 269), fp: EncodedCountingMonoid(6, SumMonoid(846)) }, Fingerprint { range: Range(269, 549), fp: EncodedCountingMonoid(6, SumMonoid(2203)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 269), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(269, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 205), items: [77, 150], want_response: true }, ItemSet { range: Range(205, 269), items: [242, 247], want_response: true }, ItemSet { range: Range(269, 322), items: [269, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322, 378], want_response: true }, ItemSet { range: Range(424, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 205), items: [95, 107, 119, 141, 142, 148, 153, 171, 180], want_response: false }, ItemSet { range: Range(205, 269), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(269, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 69, 77, 150, 242, 247, 269, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (269, true), (322, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 269, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 269, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(26, SumMonoid(14074)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(6, SumMonoid(846)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(5, SumMonoid(1934)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(25, SumMonoid(13397)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(6, SumMonoid(846)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(5, SumMonoid(1934)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(7, SumMonoid(4328)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 692), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 657), fp: EncodedCountingMonoid(5, SumMonoid(3143)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 692), items: [658], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [581, 556, 582, 613, 658], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(581, true), (556, true), (582, true), (613, true), (658, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 581, 556, 582, 613, 658] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 69, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 458, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(26, SumMonoid(14074)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(6, SumMonoid(846)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(5, SumMonoid(1934)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 77), items: [61, 69], want_response: true }, ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 77), items: [64], want_response: false }, ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (69, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 69, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 69, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(25, SumMonoid(14005)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(5, SumMonoid(1934)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [458, 489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (458, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 458, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 458, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(24, SumMonoid(13547)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(4, SumMonoid(1476)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(23, SumMonoid(12633)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(4, SumMonoid(1476)) }, Fingerprint { range: Range(549, 777), fp: EncodedCountingMonoid(7, SumMonoid(4228)) }, Fingerprint { range: Range(777, 975), fp: EncodedCountingMonoid(7, SumMonoid(6152)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 663), fp: EncodedCountingMonoid(11, SumMonoid(6602)) }, Fingerprint { range: Range(663, 777), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(777, 855), fp: EncodedCountingMonoid(9, SumMonoid(7311)) }, Fingerprint { range: Range(855, 975), fp: EncodedCountingMonoid(9, SumMonoid(8124)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 582), fp: EncodedCountingMonoid(3, SumMonoid(1698)) }, Fingerprint { range: Range(582, 663), fp: EncodedCountingMonoid(3, SumMonoid(1853)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(663, 777), items: [677], want_response: true }, ItemSet { range: Range(777, 846), items: [777, 816], want_response: true }, ItemSet { range: Range(846, 855), items: [846], want_response: true }, ItemSet { range: Range(855, 970), items: [864, 905], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(582, 653), fp: EncodedCountingMonoid(3, SumMonoid(1834)) }, Fingerprint { range: Range(653, 663), fp: EncodedCountingMonoid(3, SumMonoid(1966)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(663, 777), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(777, 846), items: [777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 855), items: [], want_response: false }, ItemSet { range: Range(855, 970), items: [855, 863, 884, 885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }], wants: [61, 77, 150, 242, 247, 322, 378, 489, 677, 816, 846, 864, 905, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(561, 582), items: [561, 581], want_response: false }, ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(582, 653), items: [582, 613], want_response: true }, ItemSet { range: Range(653, 663), items: [658], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (489, true), (677, true), (816, true), (846, true), (864, true), (905, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(582, 653), items: [584, 620, 630], want_response: false }, ItemSet { range: Range(653, 663), items: [653, 656, 657], want_response: false }], wants: [581, 556, 582, 613, 658], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 584, 620, 630, 653, 656, 657], provide: [(581, true), (556, true), (582, true), (613, true), (658, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579, 549, 554, 559, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 489, 677, 816, 846, 864, 905, 970, 974, 581, 556, 582, 613, 658] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 378, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 556, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(24, SumMonoid(13547)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(4, SumMonoid(1476)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(8, SumMonoid(5005)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [777], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 777, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(23, SumMonoid(12770)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(4, SumMonoid(1476)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(7, SumMonoid(4228)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(7, SumMonoid(6289)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(4, SumMonoid(2280)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 970), items: [905, 914], want_response: true }, ItemSet { range: Range(970, 975), items: [970, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 970), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(970, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [556], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [556, 613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(556, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 489, 556, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974, 556, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 378, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(22, SumMonoid(12214)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(5, SumMonoid(777)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(4, SumMonoid(1476)) }, Fingerprint { range: Range(549, 846), fp: EncodedCountingMonoid(7, SumMonoid(4488)) }, Fingerprint { range: Range(846, 975), fp: EncodedCountingMonoid(6, SumMonoid(5473)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 710), fp: EncodedCountingMonoid(16, SumMonoid(10001)) }, Fingerprint { range: Range(710, 846), fp: EncodedCountingMonoid(15, SumMonoid(11706)) }, Fingerprint { range: Range(846, 911), fp: EncodedCountingMonoid(5, SumMonoid(4375)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(4, SumMonoid(3749)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 710), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 378), items: [287, 322], want_response: true }, ItemSet { range: Range(378, 429), items: [378], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(710, 846), items: [816], want_response: true }, ItemSet { range: Range(846, 905), items: [846, 864], want_response: true }, ItemSet { range: Range(905, 911), items: [905], want_response: true }, ItemSet { range: Range(911, 974), items: [914, 970], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }, Fingerprint { range: Range(663, 710), fp: EncodedCountingMonoid(5, SumMonoid(3399)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 378), items: [287, 296, 319, 327, 343, 359, 374], want_response: false }, ItemSet { range: Range(378, 429), items: [401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(710, 846), items: [710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 905), items: [855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 911), items: [], want_response: false }, ItemSet { range: Range(911, 974), items: [911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 710), items: [677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (378, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 710), items: [663, 666, 676, 692, 702], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 378, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 378, 489, 816, 846, 864, 905, 914, 970, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(21, SumMonoid(11836)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 247), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(4, SumMonoid(1345)) }, Fingerprint { range: Range(549, 846), fp: EncodedCountingMonoid(7, SumMonoid(4488)) }, Fingerprint { range: Range(846, 975), fp: EncodedCountingMonoid(6, SumMonoid(5473)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 710), fp: EncodedCountingMonoid(16, SumMonoid(10001)) }, Fingerprint { range: Range(710, 846), fp: EncodedCountingMonoid(15, SumMonoid(11706)) }, Fingerprint { range: Range(846, 911), fp: EncodedCountingMonoid(5, SumMonoid(4375)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(4, SumMonoid(3749)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 710), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 205), items: [150], want_response: true }, ItemSet { range: Range(205, 247), items: [242], want_response: true }, ItemSet { range: Range(247, 322), items: [247, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322], want_response: true }, ItemSet { range: Range(424, 549), items: [489], want_response: true }, ItemSet { range: Range(710, 846), items: [816], want_response: true }, ItemSet { range: Range(846, 905), items: [846, 864], want_response: true }, ItemSet { range: Range(905, 911), items: [905], want_response: true }, ItemSet { range: Range(911, 974), items: [914, 970], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }, Fingerprint { range: Range(663, 710), fp: EncodedCountingMonoid(5, SumMonoid(3399)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 205), items: [153, 171, 180], want_response: false }, ItemSet { range: Range(205, 247), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(710, 846), items: [710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 905), items: [855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 911), items: [], want_response: false }, ItemSet { range: Range(911, 974), items: [911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 710), items: [677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 710), items: [663, 666, 676, 692, 702], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(77, 975), fp: EncodedCountingMonoid(20, SumMonoid(11775)) }], item_sets: [ItemSet { range: Range(975, 77), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 554), fp: EncodedCountingMonoid(40, SumMonoid(12222)) }, Fingerprint { range: Range(554, 975), fp: EncodedCountingMonoid(39, SumMonoid(29282)) }], item_sets: [ItemSet { range: Range(975, 77), items: [981, 982, 991, 8, 20, 24, 47, 64], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(77, 287), fp: EncodedCountingMonoid(4, SumMonoid(716)) }, Fingerprint { range: Range(287, 554), fp: EncodedCountingMonoid(3, SumMonoid(1098)) }, Fingerprint { range: Range(554, 846), fp: EncodedCountingMonoid(7, SumMonoid(4488)) }, Fingerprint { range: Range(846, 975), fp: EncodedCountingMonoid(6, SumMonoid(5473)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47, 64], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(77, 208), fp: EncodedCountingMonoid(10, SumMonoid(1461)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 554), fp: EncodedCountingMonoid(10, SumMonoid(4810)) }, Fingerprint { range: Range(554, 710), fp: EncodedCountingMonoid(15, SumMonoid(9452)) }, Fingerprint { range: Range(710, 846), fp: EncodedCountingMonoid(15, SumMonoid(11706)) }, Fingerprint { range: Range(846, 911), fp: EncodedCountingMonoid(5, SumMonoid(4375)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(4, SumMonoid(3749)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true), (64, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(554, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 710), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(77, 208), items: [77, 150], want_response: true }, ItemSet { range: Range(208, 287), items: [242, 247], want_response: true }, ItemSet { range: Range(287, 429), items: [287, 322], want_response: true }, ItemSet { range: Range(429, 554), items: [489], want_response: true }, ItemSet { range: Range(710, 846), items: [816], want_response: true }, ItemSet { range: Range(846, 905), items: [846, 864], want_response: true }, ItemSet { range: Range(905, 911), items: [905], want_response: true }, ItemSet { range: Range(911, 974), items: [914, 970], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(554, 579), fp: EncodedCountingMonoid(3, SumMonoid(1674)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }, Fingerprint { range: Range(663, 710), fp: EncodedCountingMonoid(5, SumMonoid(3399)) }], item_sets: [ItemSet { range: Range(77, 208), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 429), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424], want_response: false }, ItemSet { range: Range(429, 554), items: [429, 435, 438, 441, 465, 470, 516, 526, 541, 549], want_response: false }, ItemSet { range: Range(710, 846), items: [710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 905), items: [855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 911), items: [], want_response: false }, ItemSet { range: Range(911, 974), items: [911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }, ItemSet { range: Range(579, 613), items: [579, 584], want_response: true }], wants: [77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(579, 613), items: [581, 582], want_response: false }, ItemSet { range: Range(554, 579), items: [561], want_response: true }, ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 710), items: [677], want_response: true }], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579, 584], provide: [(77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(554, 579), items: [554, 559, 561], want_response: false }, ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 710), items: [663, 666, 676, 692, 702], want_response: false }], wants: [581, 582, 613, 658, 677], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (549, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (579, true), (584, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702], provide: [(581, true), (582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 579, 584, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974, 581, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 970, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(21, SumMonoid(11836)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 247), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(4, SumMonoid(1345)) }, Fingerprint { range: Range(549, 846), fp: EncodedCountingMonoid(7, SumMonoid(4488)) }, Fingerprint { range: Range(846, 975), fp: EncodedCountingMonoid(6, SumMonoid(5473)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 710), fp: EncodedCountingMonoid(16, SumMonoid(10001)) }, Fingerprint { range: Range(710, 846), fp: EncodedCountingMonoid(15, SumMonoid(11706)) }, Fingerprint { range: Range(846, 911), fp: EncodedCountingMonoid(5, SumMonoid(4375)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(4, SumMonoid(3749)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 710), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 205), items: [150], want_response: true }, ItemSet { range: Range(205, 247), items: [242], want_response: true }, ItemSet { range: Range(247, 322), items: [247, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322], want_response: true }, ItemSet { range: Range(424, 549), items: [489], want_response: true }, ItemSet { range: Range(710, 846), items: [816], want_response: true }, ItemSet { range: Range(846, 905), items: [846, 864], want_response: true }, ItemSet { range: Range(905, 911), items: [905], want_response: true }, ItemSet { range: Range(911, 974), items: [914, 970], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 663), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }, Fingerprint { range: Range(663, 710), fp: EncodedCountingMonoid(5, SumMonoid(3399)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 205), items: [153, 171, 180], want_response: false }, ItemSet { range: Range(205, 247), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(710, 846), items: [710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 905), items: [855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 911), items: [], want_response: false }, ItemSet { range: Range(911, 974), items: [911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 710), items: [677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (970, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 710), items: [663, 666, 676, 692, 702], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 970, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 970, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(20, SumMonoid(10866)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 247), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(4, SumMonoid(1345)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 205), items: [150], want_response: true }, ItemSet { range: Range(205, 247), items: [242], want_response: true }, ItemSet { range: Range(247, 322), items: [247, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322], want_response: true }, ItemSet { range: Range(424, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 205), items: [153, 171, 180], want_response: false }, ItemSet { range: Range(205, 247), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(19, SumMonoid(10253)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 247), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(4, SumMonoid(1345)) }, Fingerprint { range: Range(549, 846), fp: EncodedCountingMonoid(6, SumMonoid(3875)) }, Fingerprint { range: Range(846, 975), fp: EncodedCountingMonoid(5, SumMonoid(4503)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 710), fp: EncodedCountingMonoid(16, SumMonoid(10001)) }, Fingerprint { range: Range(710, 846), fp: EncodedCountingMonoid(15, SumMonoid(11706)) }, Fingerprint { range: Range(846, 911), fp: EncodedCountingMonoid(5, SumMonoid(4375)) }, Fingerprint { range: Range(911, 975), fp: EncodedCountingMonoid(4, SumMonoid(3749)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 205), items: [150], want_response: true }, ItemSet { range: Range(205, 247), items: [242], want_response: true }, ItemSet { range: Range(247, 322), items: [247, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322], want_response: true }, ItemSet { range: Range(424, 549), items: [489], want_response: true }, ItemSet { range: Range(658, 710), items: [658, 677], want_response: true }, ItemSet { range: Range(710, 846), items: [816], want_response: true }, ItemSet { range: Range(846, 905), items: [846, 864], want_response: true }, ItemSet { range: Range(905, 911), items: [905], want_response: true }, ItemSet { range: Range(911, 975), items: [914, 974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 205), items: [153, 171, 180], want_response: false }, ItemSet { range: Range(205, 247), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(658, 710), items: [663, 666, 676, 692, 702], want_response: false }, ItemSet { range: Range(710, 846), items: [710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840], want_response: false }, ItemSet { range: Range(846, 905), items: [855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 911), items: [], want_response: false }, ItemSet { range: Range(911, 975), items: [911, 935, 944, 959], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 489, 658, 677, 816, 846, 864, 905, 914, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 620), items: [582], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (658, true), (677, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 582), items: [549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 582], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (582, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 489, 658, 677, 816, 846, 864, 905, 914, 974, 581, 582] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 150, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 247, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 489, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 846, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(20, SumMonoid(10866)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 247), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(247, 549), fp: EncodedCountingMonoid(4, SumMonoid(1345)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 205), fp: EncodedCountingMonoid(10, SumMonoid(1320)) }, Fingerprint { range: Range(205, 247), fp: EncodedCountingMonoid(9, SumMonoid(2067)) }, Fingerprint { range: Range(247, 424), fp: EncodedCountingMonoid(11, SumMonoid(3665)) }, Fingerprint { range: Range(424, 549), fp: EncodedCountingMonoid(10, SumMonoid(4685)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 205), items: [150], want_response: true }, ItemSet { range: Range(205, 247), items: [242], want_response: true }, ItemSet { range: Range(247, 322), items: [247, 287], want_response: true }, ItemSet { range: Range(322, 424), items: [322], want_response: true }, ItemSet { range: Range(424, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 205), items: [153, 171, 180], want_response: false }, ItemSet { range: Range(205, 247), items: [205, 208, 228, 230, 234, 237, 239, 240, 246], want_response: false }, ItemSet { range: Range(247, 322), items: [275, 281, 287, 296, 319], want_response: false }, ItemSet { range: Range(322, 424), items: [327, 343, 359, 374, 401, 403], want_response: false }, ItemSet { range: Range(424, 549), items: [424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (247, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 247, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 247, 322, 489, 816, 846, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 150, 242, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(19, SumMonoid(10619)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(4, SumMonoid(530)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(3, SumMonoid(1098)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 150), items: [61, 77], want_response: true }, ItemSet { range: Range(150, 208), items: [150], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(287, 429), items: [287, 322], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 150), items: [64, 95, 107, 119, 141, 142, 148], want_response: false }, ItemSet { range: Range(150, 208), items: [153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 429), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 150, 242, 322, 489, 816, 846, 864, 905, 914, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (150, true), (242, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 150, 242, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 150, 242, 322, 489, 816, 846, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(18, SumMonoid(10469)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(3, SumMonoid(380)) }, Fingerprint { range: Range(287, 549), fp: EncodedCountingMonoid(3, SumMonoid(1098)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(287, 429), fp: EncodedCountingMonoid(10, SumMonoid(3533)) }, Fingerprint { range: Range(429, 549), fp: EncodedCountingMonoid(9, SumMonoid(4261)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [], wants: [], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 208), items: [61, 77], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(287, 429), items: [287, 322], want_response: true }, ItemSet { range: Range(429, 549), items: [489], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 208), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 429), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424], want_response: false }, ItemSet { range: Range(429, 549), items: [429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 242, 322, 489, 816, 846, 864, 905, 914, 974], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (242, true), (322, true), (489, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 322, 489, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 242, 322, 489, 816, 846, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(17, SumMonoid(9980)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(3, SumMonoid(380)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(6, SumMonoid(5319)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 322], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [322], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 208), items: [61, 77], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 864), items: [816, 846], want_response: true }, ItemSet { range: Range(864, 885), items: [864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(322, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 208), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 864), items: [818, 819, 830, 840, 855, 863], want_response: false }, ItemSet { range: Range(864, 885), items: [884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 242, 816, 846, 864, 905, 914, 974], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (242, true), (816, true), (846, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 846, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [322, 61, 77, 242, 816, 846, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(16, SumMonoid(9134)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(3, SumMonoid(380)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 322], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [322], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 208), items: [61, 77], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(322, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 208), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 242, 816, 864, 905, 914, 974], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (242, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [322, 61, 77, 242, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 322, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(15, SumMonoid(8573)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(3, SumMonoid(380)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3111)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 322], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [322], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1776)) }], item_sets: [ItemSet { range: Range(61, 208), items: [61, 77], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(322, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(61, 208), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 242, 658, 677, 816, 864, 905, 914, 974], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [581, 582], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (242, true), (658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 582, 613], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (582, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (561, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 322, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [322, 61, 77, 242, 658, 677, 816, 864, 905, 914, 974, 581, 582, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 77, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 242, 246, 275, 281, 287, 296, 319, 322, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(16, SumMonoid(9134)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 287), fp: EncodedCountingMonoid(3, SumMonoid(380)) }, Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 322], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 208), fp: EncodedCountingMonoid(11, SumMonoid(1525)) }, Fingerprint { range: Range(208, 287), fp: EncodedCountingMonoid(10, SumMonoid(2418)) }, Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(287, 549), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [322], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(61, 208), items: [61, 77], want_response: true }, ItemSet { range: Range(208, 287), items: [242], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(322, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(61, 208), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205], want_response: false }, ItemSet { range: Range(208, 287), items: [208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [61, 77, 242, 816, 864, 905, 914, 974], provide: [(296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(61, true), (77, true), (242, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 322, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [322, 61, 77, 242, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 242, 287, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(15, SumMonoid(8812)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 242), items: [61, 77], want_response: true }, ItemSet { range: Range(242, 549), items: [242, 287], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 242), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240], want_response: false }, ItemSet { range: Range(242, 549), items: [246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 77, 242], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (77, true), (242, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 242, 287, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 242, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 287, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(14, SumMonoid(8570)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 287), items: [61, 77], want_response: true }, ItemSet { range: Range(287, 549), items: [287], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 287), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281], want_response: false }, ItemSet { range: Range(287, 549), items: [287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 77], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (77, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 287, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 77, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(13, SumMonoid(8283)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 77], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 77], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (77, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 77, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 77, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8206)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 291, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(7915)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3090)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 291], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 291], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1755)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (291, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 291, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 291, 658, 677, 816, 864, 905, 914, 974, 581, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 437, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8061)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3090)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 437], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 437], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1755)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (437, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 437, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 437, 658, 677, 816, 864, 905, 914, 974, 581, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 437, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 437, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 437, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 510, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8134)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3090)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 510], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 510], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1755)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (510, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 510, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 510, 658, 677, 816, 864, 905, 914, 974, 581, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 546, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8170)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3090)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 546], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 546], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1755)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (546, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 546, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 546, 658, 677, 816, 864, 905, 914, 974, 581, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 546, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 546, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 546, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 564, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8188)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3654)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1706)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 581), items: [561, 564], want_response: true }, ItemSet { range: Range(581, 613), items: [581], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 581), items: [561, 579], want_response: false }, ItemSet { range: Range(581, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [564, 581, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(564, true), (581, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 564, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 564, 581, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 564, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 564, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 564, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 573, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8197)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3663)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1715)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 581), items: [561, 573], want_response: true }, ItemSet { range: Range(581, 613), items: [581], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 581), items: [561, 579], want_response: false }, ItemSet { range: Range(581, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [573, 581, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(573, true), (581, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 573, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 573, 581, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 573, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 573, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 573, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 578, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8202)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3668)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1720)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 581), items: [561, 578], want_response: true }, ItemSet { range: Range(581, 613), items: [581], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 581), items: [561, 579], want_response: false }, ItemSet { range: Range(581, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [578, 581, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(578, true), (581, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 578, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 578, 581, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 578, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 578, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 578, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 580, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8204)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3670)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1722)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 581), items: [561, 580], want_response: true }, ItemSet { range: Range(581, 613), items: [581], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 581), items: [561, 579], want_response: false }, ItemSet { range: Range(581, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [580, 581, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(580, true), (581, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 580, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 580, 581, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(11, SumMonoid(7624)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3090)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1755)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 581], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [581, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(581, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 658, 677, 816, 864, 905, 914, 974, 581, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8206)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 291, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(7916)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3091)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 291], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 291], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1756)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (291, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 582], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [582, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(582, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 291, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 291, 658, 677, 816, 864, 905, 914, 974, 582, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 291, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 436, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8061)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3091)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 436], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 436], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1756)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (436, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 582], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [582, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(582, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 436, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 436, 658, 677, 816, 864, 905, 914, 974, 582, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 436, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 436, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 436, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 509, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8134)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3091)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 509], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 509], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1756)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (509, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 582], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [582, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(582, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 509, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 509, 658, 677, 816, 864, 905, 914, 974, 582, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 509, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 509, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 509, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 545, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8170)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(5, SumMonoid(3091)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61, 545], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61, 545], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 658), fp: EncodedCountingMonoid(3, SumMonoid(1756)) }], item_sets: [ItemSet { range: Range(658, 692), items: [658, 677], want_response: true }, ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true), (545, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 620), fp: EncodedCountingMonoid(6, SumMonoid(3386)) }, Fingerprint { range: Range(620, 658), fp: EncodedCountingMonoid(5, SumMonoid(3216)) }], item_sets: [ItemSet { range: Range(658, 692), items: [663, 666, 676], want_response: false }, ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [658, 677, 816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [561, 582], want_response: true }, ItemSet { range: Range(613, 620), items: [613], want_response: true }, ItemSet { range: Range(620, 658), items: [], want_response: true }], wants: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(658, true), (677, true), (816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 613), items: [549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(613, 620), items: [], want_response: false }, ItemSet { range: Range(620, 658), items: [620, 630, 653, 656, 657], want_response: false }], wants: [582, 613], provide: [(663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657], provide: [(582, true), (613, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 545, 561, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 545, 658, 677, 816, 864, 905, 914, 974, 582, 613] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 545, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 545, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 545, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 563, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8188)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3654)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1706)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 563], want_response: true }, ItemSet { range: Range(582, 613), items: [582], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [563, 582, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(563, true), (582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 563, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 563, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 563, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 563, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 563, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 572, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8197)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3663)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1715)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 572], want_response: true }, ItemSet { range: Range(582, 613), items: [582], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [572, 582, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(572, true), (582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 572, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 572, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 572, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 572, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 572, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 577, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8202)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3668)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1720)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 577], want_response: true }, ItemSet { range: Range(582, 613), items: [582], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [577, 582, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(577, true), (582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 577, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 577, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 577, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 577, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 577, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 579, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8204)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3670)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1722)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: true }, ItemSet { range: Range(582, 613), items: [582], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [582, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 579, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 580, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8205)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3671)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1723)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(561, 582), items: [561, 580], want_response: true }, ItemSet { range: Range(582, 613), items: [582], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(561, 582), items: [561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [580, 582, 613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(580, true), (582, true), (613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 580, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 580, 582, 613, 658, 677] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 580, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 974, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 975), fp: EncodedCountingMonoid(12, SumMonoid(8206)) }], item_sets: [ItemSet { range: Range(975, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 549), fp: EncodedCountingMonoid(40, SumMonoid(11737)) }, Fingerprint { range: Range(549, 975), fp: EncodedCountingMonoid(40, SumMonoid(29831)) }], item_sets: [ItemSet { range: Range(975, 61), items: [981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 975), fp: EncodedCountingMonoid(5, SumMonoid(4473)) }], item_sets: [ItemSet { range: Range(61, 549), items: [61], want_response: true }], wants: [981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 692), fp: EncodedCountingMonoid(14, SumMonoid(8607)) }, Fingerprint { range: Range(692, 816), fp: EncodedCountingMonoid(13, SumMonoid(9793)) }, Fingerprint { range: Range(816, 885), fp: EncodedCountingMonoid(7, SumMonoid(5909)) }, Fingerprint { range: Range(885, 975), fp: EncodedCountingMonoid(6, SumMonoid(5522)) }], item_sets: [ItemSet { range: Range(61, 549), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], want_response: false }], wants: [61], provide: [(981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(549, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(3, SumMonoid(1948)) }], item_sets: [ItemSet { range: Range(692, 816), items: [], want_response: true }, ItemSet { range: Range(816, 885), items: [816, 864], want_response: true }, ItemSet { range: Range(885, 974), items: [905, 914], want_response: true }, ItemSet { range: Range(974, 975), items: [974], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(549, 561), fp: EncodedCountingMonoid(3, SumMonoid(1662)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }, Fingerprint { range: Range(613, 657), fp: EncodedCountingMonoid(4, SumMonoid(2559)) }, Fingerprint { range: Range(657, 692), fp: EncodedCountingMonoid(4, SumMonoid(2662)) }], item_sets: [ItemSet { range: Range(692, 816), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 885), items: [818, 819, 830, 840, 855, 863, 884], want_response: false }, ItemSet { range: Range(885, 974), items: [885, 888, 911, 935, 944, 959], want_response: false }, ItemSet { range: Range(974, 975), items: [], want_response: false }], wants: [816, 864, 905, 914, 974], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [], want_response: true }, ItemSet { range: Range(613, 657), items: [613], want_response: true }, ItemSet { range: Range(657, 692), items: [658, 677], want_response: true }], wants: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959], provide: [(816, true), (864, true), (905, true), (914, true), (974, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(549, 561), items: [549, 554, 559], want_response: false }, ItemSet { range: Range(613, 657), items: [620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 692), items: [657, 663, 666, 676], want_response: false }], wants: [613, 658, 677], provide: [(692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676], provide: [(613, true), (658, true), (677, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(549, true), (554, true), (559, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914, 974} + [981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 549, 554, 559, 620, 630, 653, 656, 657, 663, 666, 676] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 816, 864, 905, 914, 974, 613, 658, 677] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 487, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7719)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(4176)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 487], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 487], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 815), items: [677], want_response: true }, ItemSet { range: Range(815, 905), items: [816, 864], want_response: true }, ItemSet { range: Range(905, 915), items: [905, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (487, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 815), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 905), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888], want_response: false }, ItemSet { range: Range(905, 915), items: [911], want_response: false }], wants: [581, 582, 613, 658, 677, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 487, 561, 581, 582, 613, 658, 677, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 487, 581, 582, 613, 658, 677, 816, 864, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 487, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 487, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 487, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 731, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7963)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 731), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(731, 915), fp: EncodedCountingMonoid(5, SumMonoid(4230)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 656), fp: EncodedCountingMonoid(10, SumMonoid(5830)) }, Fingerprint { range: Range(656, 731), fp: EncodedCountingMonoid(9, SumMonoid(6141)) }, Fingerprint { range: Range(731, 819), fp: EncodedCountingMonoid(10, SumMonoid(7788)) }, Fingerprint { range: Range(819, 915), fp: EncodedCountingMonoid(9, SumMonoid(7775)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 731), items: [658, 677], want_response: true }, ItemSet { range: Range(731, 819), items: [731, 816], want_response: true }, ItemSet { range: Range(819, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 731), items: [656, 657, 663, 666, 676, 692, 702, 710, 719], want_response: false }, ItemSet { range: Range(731, 819), items: [734, 737, 739, 756, 777, 799, 803, 810, 815, 818], want_response: false }, ItemSet { range: Range(819, 914), items: [819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 731, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (731, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 731, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 731, 816, 864, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 731, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 731, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 731, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 816, 853, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(8085)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 816), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(816, 915), fp: EncodedCountingMonoid(5, SumMonoid(4352)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 676), fp: EncodedCountingMonoid(14, SumMonoid(8472)) }, Fingerprint { range: Range(676, 816), fp: EncodedCountingMonoid(14, SumMonoid(10469)) }, Fingerprint { range: Range(816, 863), fp: EncodedCountingMonoid(5, SumMonoid(4162)) }, Fingerprint { range: Range(863, 915), fp: EncodedCountingMonoid(5, SumMonoid(4431)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 676), items: [613, 658], want_response: true }, ItemSet { range: Range(676, 816), items: [677], want_response: true }, ItemSet { range: Range(816, 863), items: [816, 853], want_response: true }, ItemSet { range: Range(863, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 676), items: [620, 630, 653, 656, 657, 663, 666], want_response: false }, ItemSet { range: Range(676, 816), items: [676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 863), items: [818, 819, 830, 840, 855], want_response: false }, ItemSet { range: Range(863, 914), items: [863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 816, 853, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (816, true), (853, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 816, 853, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 816, 853, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 792, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(8024)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 792), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(792, 915), fp: EncodedCountingMonoid(5, SumMonoid(4291)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 792), fp: EncodedCountingMonoid(12, SumMonoid(8571)) }, Fingerprint { range: Range(792, 840), fp: EncodedCountingMonoid(7, SumMonoid(5694)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 792), items: [677], want_response: true }, ItemSet { range: Range(792, 840), items: [792, 816], want_response: true }, ItemSet { range: Range(840, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 792), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777], want_response: false }, ItemSet { range: Range(792, 840), items: [799, 803, 810, 815, 818, 819, 830], want_response: false }, ItemSet { range: Range(840, 914), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 792, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (792, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 792, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 792, 816, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 762, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7994)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 762), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(762, 915), fp: EncodedCountingMonoid(5, SumMonoid(4261)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 762), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(762, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 762), items: [677], want_response: true }, ItemSet { range: Range(762, 840), items: [762, 816], want_response: true }, ItemSet { range: Range(840, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 762), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(762, 840), items: [777, 799, 803, 810, 815, 818, 819, 830], want_response: false }, ItemSet { range: Range(840, 914), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 762, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (762, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 762, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 762, 816, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 747, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7979)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 747), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(747, 915), fp: EncodedCountingMonoid(5, SumMonoid(4246)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 657), fp: EncodedCountingMonoid(11, SumMonoid(6486)) }, Fingerprint { range: Range(657, 747), fp: EncodedCountingMonoid(11, SumMonoid(7695)) }, Fingerprint { range: Range(747, 830), fp: EncodedCountingMonoid(8, SumMonoid(6397)) }, Fingerprint { range: Range(830, 915), fp: EncodedCountingMonoid(8, SumMonoid(6956)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 747), items: [658, 677], want_response: true }, ItemSet { range: Range(747, 830), items: [747, 816], want_response: true }, ItemSet { range: Range(830, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 747), items: [657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739], want_response: false }, ItemSet { range: Range(747, 830), items: [756, 777, 799, 803, 810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 914), items: [830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 747, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (747, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 747, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 747, 816, 864, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 747, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 747, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 747, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 755, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7987)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 755), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(755, 915), fp: EncodedCountingMonoid(5, SumMonoid(4254)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 657), fp: EncodedCountingMonoid(11, SumMonoid(6486)) }, Fingerprint { range: Range(657, 755), fp: EncodedCountingMonoid(11, SumMonoid(7695)) }, Fingerprint { range: Range(755, 830), fp: EncodedCountingMonoid(8, SumMonoid(6397)) }, Fingerprint { range: Range(830, 915), fp: EncodedCountingMonoid(8, SumMonoid(6956)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 755), items: [658, 677], want_response: true }, ItemSet { range: Range(755, 830), items: [755, 816], want_response: true }, ItemSet { range: Range(830, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 755), items: [657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739], want_response: false }, ItemSet { range: Range(755, 830), items: [756, 777, 799, 803, 810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 914), items: [830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 755, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (755, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 755, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 755, 816, 864, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 755, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 755, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 755, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 759, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7991)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 759), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(759, 915), fp: EncodedCountingMonoid(5, SumMonoid(4258)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 759), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(759, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 759), items: [677], want_response: true }, ItemSet { range: Range(759, 840), items: [759, 816], want_response: true }, ItemSet { range: Range(840, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 759), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(759, 840), items: [777, 799, 803, 810, 815, 818, 819, 830], want_response: false }, ItemSet { range: Range(840, 914), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 759, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (759, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 759, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 759, 816, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7989)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4256)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 840), items: [757, 816], want_response: true }, ItemSet { range: Range(840, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 840), items: [777, 799, 803, 810, 815, 818, 819, 830], want_response: false }, ItemSet { range: Range(840, 914), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 757, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 816, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 756, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7988)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 756), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(756, 915), fp: EncodedCountingMonoid(5, SumMonoid(4255)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 657), fp: EncodedCountingMonoid(11, SumMonoid(6486)) }, Fingerprint { range: Range(657, 756), fp: EncodedCountingMonoid(11, SumMonoid(7695)) }, Fingerprint { range: Range(756, 830), fp: EncodedCountingMonoid(8, SumMonoid(6397)) }, Fingerprint { range: Range(830, 915), fp: EncodedCountingMonoid(8, SumMonoid(6956)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 756), items: [658, 677], want_response: true }, ItemSet { range: Range(756, 830), items: [756, 816], want_response: true }, ItemSet { range: Range(830, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 756), items: [657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739], want_response: false }, ItemSet { range: Range(756, 830), items: [756, 777, 799, 803, 810, 815, 818, 819], want_response: false }, ItemSet { range: Range(830, 914), items: [830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 756, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 816, 864, 905, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 905, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 905, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7989)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4256)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 840), items: [757, 816], want_response: true }, ItemSet { range: Range(840, 914), items: [864, 905], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 840), items: [777, 799, 803, 810, 815, 818, 819, 830], want_response: false }, ItemSet { range: Range(840, 914), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [613, 658, 677, 757, 816, 864, 905, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (816, true), (864, true), (905, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 905, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 816, 864, 905, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 453, 561, 581, 582, 613, 658, 677, 757, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7537)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(4028)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 453], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 453], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 815), items: [677, 757], want_response: true }, ItemSet { range: Range(815, 914), items: [816, 864], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (453, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 815), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 914), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 453, 561, 581, 582, 613, 658, 677, 757, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 453, 581, 582, 613, 658, 677, 757, 816, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 453, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 453, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 453, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 679, 757, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7763)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 679), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(679, 915), fp: EncodedCountingMonoid(5, SumMonoid(4030)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 679), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(679, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 679), items: [658, 677], want_response: true }, ItemSet { range: Range(679, 815), items: [679, 757], want_response: true }, ItemSet { range: Range(815, 914), items: [816, 864], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 679), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(679, 815), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 914), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 679, 757, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (679, true), (757, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 679, 757, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 679, 757, 816, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 679, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 679, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 679, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 792, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7876)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4143)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 816), items: [757, 792], want_response: true }, ItemSet { range: Range(816, 840), items: [816], want_response: true }, ItemSet { range: Range(840, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 840), items: [818, 819, 830], want_response: false }, ItemSet { range: Range(840, 915), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 792, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (792, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 792, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 792, 816, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 736, 757, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7820)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 736), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(736, 915), fp: EncodedCountingMonoid(5, SumMonoid(4087)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 656), fp: EncodedCountingMonoid(10, SumMonoid(5830)) }, Fingerprint { range: Range(656, 736), fp: EncodedCountingMonoid(10, SumMonoid(6875)) }, Fingerprint { range: Range(736, 819), fp: EncodedCountingMonoid(9, SumMonoid(7054)) }, Fingerprint { range: Range(819, 915), fp: EncodedCountingMonoid(9, SumMonoid(7775)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 656), items: [582, 613], want_response: true }, ItemSet { range: Range(656, 736), items: [658, 677], want_response: true }, ItemSet { range: Range(736, 816), items: [736, 757], want_response: true }, ItemSet { range: Range(816, 819), items: [816], want_response: true }, ItemSet { range: Range(819, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 656), items: [584, 620, 630, 653], want_response: false }, ItemSet { range: Range(656, 736), items: [656, 657, 663, 666, 676, 692, 702, 710, 719, 734], want_response: false }, ItemSet { range: Range(736, 816), items: [737, 739, 756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 819), items: [818], want_response: false }, ItemSet { range: Range(819, 915), items: [819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 736, 757, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (736, true), (757, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 736, 757, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 736, 757, 816, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 736, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 736, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 736, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 764, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7848)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4115)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 816), items: [757, 764], want_response: true }, ItemSet { range: Range(816, 840), items: [816], want_response: true }, ItemSet { range: Range(840, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 840), items: [818, 819, 830], want_response: false }, ItemSet { range: Range(840, 915), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 764, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (764, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 764, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 764, 816, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 750, 757, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7834)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 750), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(750, 915), fp: EncodedCountingMonoid(5, SumMonoid(4101)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 657), fp: EncodedCountingMonoid(11, SumMonoid(6486)) }, Fingerprint { range: Range(657, 750), fp: EncodedCountingMonoid(11, SumMonoid(7695)) }, Fingerprint { range: Range(750, 830), fp: EncodedCountingMonoid(8, SumMonoid(6397)) }, Fingerprint { range: Range(830, 915), fp: EncodedCountingMonoid(8, SumMonoid(6956)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 657), items: [582, 613], want_response: true }, ItemSet { range: Range(657, 750), items: [658, 677], want_response: true }, ItemSet { range: Range(750, 816), items: [750, 757], want_response: true }, ItemSet { range: Range(816, 830), items: [816], want_response: true }, ItemSet { range: Range(830, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 657), items: [584, 620, 630, 653, 656], want_response: false }, ItemSet { range: Range(657, 750), items: [657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739], want_response: false }, ItemSet { range: Range(750, 816), items: [756, 777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 830), items: [818, 819], want_response: false }, ItemSet { range: Range(830, 915), items: [830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 750, 757, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (750, true), (757, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 750, 757, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 750, 757, 816, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 750, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 750, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 750, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(11, SumMonoid(7084)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(4028)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 815), items: [677, 757], want_response: true }, ItemSet { range: Range(815, 914), items: [816, 864], want_response: true }, ItemSet { range: Range(914, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 815), items: [692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 914), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }, ItemSet { range: Range(914, 915), items: [], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 757, 816, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 777, 799, 803, 810, 815, 816, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 761, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7845)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4112)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 816), items: [757, 761], want_response: true }, ItemSet { range: Range(816, 840), items: [816], want_response: true }, ItemSet { range: Range(840, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 840), items: [818, 819, 830], want_response: false }, ItemSet { range: Range(840, 915), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 761, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (761, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 761, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 761, 816, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 759, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7843)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4110)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 816), items: [757, 759], want_response: true }, ItemSet { range: Range(816, 840), items: [816], want_response: true }, ItemSet { range: Range(840, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 840), items: [818, 819, 830], want_response: false }, ItemSet { range: Range(840, 915), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 759, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (759, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 759, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 759, 816, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 758, 816, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7842)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 757), fp: EncodedCountingMonoid(6, SumMonoid(3672)) }, Fingerprint { range: Range(757, 915), fp: EncodedCountingMonoid(5, SumMonoid(4109)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(12, SumMonoid(7143)) }, Fingerprint { range: Range(663, 757), fp: EncodedCountingMonoid(11, SumMonoid(7794)) }, Fingerprint { range: Range(757, 840), fp: EncodedCountingMonoid(8, SumMonoid(6471)) }, Fingerprint { range: Range(840, 915), fp: EncodedCountingMonoid(7, SumMonoid(6126)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [613, 658], want_response: true }, ItemSet { range: Range(663, 757), items: [677], want_response: true }, ItemSet { range: Range(757, 816), items: [757, 758], want_response: true }, ItemSet { range: Range(816, 840), items: [816], want_response: true }, ItemSet { range: Range(840, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 613), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(613, 663), items: [620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 816), items: [777, 799, 803, 810, 815], want_response: false }, ItemSet { range: Range(816, 840), items: [818, 819, 830], want_response: false }, ItemSet { range: Range(840, 915), items: [840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 758, 816, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (758, true), (816, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 758, 816, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 758, 816, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 408, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7434)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 408], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 408], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (408, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 408, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 408, 581, 582, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 408, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 408, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 408, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 612, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7638)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3607)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 612), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(612, 630), items: [612, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 612), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(612, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [612, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(612, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 612, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 612, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 510, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7536)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 510], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 510], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (510, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 510, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 510, 581, 582, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 510, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(11, SumMonoid(7026)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 587, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7613)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3582)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 587), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(587, 630), items: [587, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 587), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(587, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [587, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(587, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 587, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 587, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 574, 581, 582, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7600)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3569)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 582), fp: EncodedCountingMonoid(3, SumMonoid(1716)) }], item_sets: [ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 559), fp: EncodedCountingMonoid(3, SumMonoid(1644)) }, Fingerprint { range: Range(559, 582), fp: EncodedCountingMonoid(3, SumMonoid(1699)) }], item_sets: [ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [582, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [], want_response: true }, ItemSet { range: Range(559, 581), items: [561, 574], want_response: true }, ItemSet { range: Range(581, 582), items: [581], want_response: true }], wants: [584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(582, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [541, 549, 554], want_response: false }, ItemSet { range: Range(559, 581), items: [559, 561, 579], want_response: false }, ItemSet { range: Range(581, 582), items: [], want_response: false }], wants: [574, 581], provide: [(584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579], provide: [(574, true), (581, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 574, 581, 582, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559, 579] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 582, 613, 658, 677, 757, 758, 864, 914, 574, 581] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 574, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 574, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 574, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(11, SumMonoid(7026)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(5, SumMonoid(2995)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 630), items: [582, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 584, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7610)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3579)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 584), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(584, 630), items: [584, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 559), fp: EncodedCountingMonoid(3, SumMonoid(1644)) }, Fingerprint { range: Range(559, 584), fp: EncodedCountingMonoid(3, SumMonoid(1699)) }], item_sets: [ItemSet { range: Range(584, 630), items: [584, 620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [], want_response: true }, ItemSet { range: Range(559, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [541, 549, 554], want_response: false }, ItemSet { range: Range(559, 582), items: [559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }], wants: [581, 582], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579], provide: [(581, true), (582, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 584, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559, 579] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 613, 658, 677, 757, 758, 864, 914, 581, 582] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 864, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 586, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7612)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3581)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 586), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(586, 630), items: [586, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 586), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(586, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [586, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(586, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 586, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 586, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 677, 757, 758, 864, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7611)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3970)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [585, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 758), items: [677, 757], want_response: true }, ItemSet { range: Range(758, 815), items: [758], want_response: true }, ItemSet { range: Range(815, 915), items: [864, 914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 758), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 677, 757, 758, 864, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (864, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 677, 757, 758, 864, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 677, 757, 758, 864, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 432, 561, 581, 582, 585, 613, 658, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7179)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 658), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(658, 915), fp: EncodedCountingMonoid(5, SumMonoid(3764)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 432], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 584), fp: EncodedCountingMonoid(6, SumMonoid(3343)) }, Fingerprint { range: Range(584, 658), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(658, 803), fp: EncodedCountingMonoid(13, SumMonoid(9370)) }, Fingerprint { range: Range(803, 915), fp: EncodedCountingMonoid(13, SumMonoid(11021)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 432], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 658), items: [585, 613], want_response: true }, ItemSet { range: Range(658, 757), items: [658, 677], want_response: true }, ItemSet { range: Range(757, 803), items: [757, 758], want_response: true }, ItemSet { range: Range(803, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (432, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 658), items: [584, 620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(658, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 915), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 432, 561, 581, 582, 585, 613, 658, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 432, 581, 582, 585, 613, 658, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 432, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 432, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 432, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 648, 658, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7395)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 658), fp: EncodedCountingMonoid(6, SumMonoid(3570)) }, Fingerprint { range: Range(658, 915), fp: EncodedCountingMonoid(5, SumMonoid(3764)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 584), fp: EncodedCountingMonoid(6, SumMonoid(3343)) }, Fingerprint { range: Range(584, 658), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(658, 803), fp: EncodedCountingMonoid(13, SumMonoid(9370)) }, Fingerprint { range: Range(803, 915), fp: EncodedCountingMonoid(13, SumMonoid(11021)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 648), items: [585, 613], want_response: true }, ItemSet { range: Range(648, 658), items: [648], want_response: true }, ItemSet { range: Range(658, 757), items: [658, 677], want_response: true }, ItemSet { range: Range(757, 803), items: [757, 758], want_response: true }, ItemSet { range: Range(803, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 648), items: [584, 620, 630], want_response: false }, ItemSet { range: Range(648, 658), items: [653, 656, 657], want_response: false }, ItemSet { range: Range(658, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 915), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 648, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (648, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 648, 658, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 585, 613, 648, 658, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 648, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 648, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 648, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 677, 756, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7503)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3862)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [585, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 757), items: [677, 756], want_response: true }, ItemSet { range: Range(757, 815), items: [757, 758], want_response: true }, ItemSet { range: Range(815, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 757), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 677, 756, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 677, 702, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7449)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 677), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(677, 915), fp: EncodedCountingMonoid(5, SumMonoid(3808)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 630), fp: EncodedCountingMonoid(8, SumMonoid(4547)) }, Fingerprint { range: Range(630, 677), fp: EncodedCountingMonoid(7, SumMonoid(4601)) }, Fingerprint { range: Range(677, 815), fp: EncodedCountingMonoid(12, SumMonoid(8978)) }, Fingerprint { range: Range(815, 915), fp: EncodedCountingMonoid(11, SumMonoid(9408)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [585, 613], want_response: true }, ItemSet { range: Range(630, 677), items: [658], want_response: true }, ItemSet { range: Range(677, 757), items: [677, 702], want_response: true }, ItemSet { range: Range(757, 815), items: [757, 758], want_response: true }, ItemSet { range: Range(815, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 630), items: [620], want_response: false }, ItemSet { range: Range(630, 677), items: [630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(677, 757), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 815), items: [777, 799, 803, 810], want_response: false }, ItemSet { range: Range(815, 915), items: [815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 677, 702, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 675, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7422)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 675), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(675, 915), fp: EncodedCountingMonoid(5, SumMonoid(3781)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 675), fp: EncodedCountingMonoid(7, SumMonoid(4545)) }, Fingerprint { range: Range(675, 810), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 675), items: [658], want_response: true }, ItemSet { range: Range(675, 757), items: [675, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 675), items: [620, 630, 653, 656, 657, 663, 666], want_response: false }, ItemSet { range: Range(675, 757), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 675, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (675, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 675, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 675, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 662, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7409)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 662), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(662, 915), fp: EncodedCountingMonoid(5, SumMonoid(3768)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 584), fp: EncodedCountingMonoid(6, SumMonoid(3343)) }, Fingerprint { range: Range(584, 662), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(662, 803), fp: EncodedCountingMonoid(13, SumMonoid(9370)) }, Fingerprint { range: Range(803, 915), fp: EncodedCountingMonoid(13, SumMonoid(11021)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 658), items: [585, 613], want_response: true }, ItemSet { range: Range(658, 662), items: [658], want_response: true }, ItemSet { range: Range(662, 757), items: [662, 677], want_response: true }, ItemSet { range: Range(757, 803), items: [757, 758], want_response: true }, ItemSet { range: Range(803, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 658), items: [584, 620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(658, 662), items: [], want_response: false }, ItemSet { range: Range(662, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 915), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 658, 662, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (658, true), (662, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 662, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 585, 613, 658, 662, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 662, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 662, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 662, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 669, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7416)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 669), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(669, 915), fp: EncodedCountingMonoid(5, SumMonoid(3775)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 669), fp: EncodedCountingMonoid(7, SumMonoid(4545)) }, Fingerprint { range: Range(669, 810), fp: EncodedCountingMonoid(12, SumMonoid(8844)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 669), items: [658], want_response: true }, ItemSet { range: Range(669, 757), items: [669, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 669), items: [620, 630, 653, 656, 657, 663, 666], want_response: false }, ItemSet { range: Range(669, 757), items: [676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 669, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (669, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 669, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 669, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 666, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7413)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 666), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(666, 915), fp: EncodedCountingMonoid(5, SumMonoid(3772)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 666), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(666, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 666), items: [658], want_response: true }, ItemSet { range: Range(666, 757), items: [666, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 666), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(666, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 666, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7411)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [658], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 663, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7410)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 663), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(663, 915), fp: EncodedCountingMonoid(5, SumMonoid(3769)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 584), fp: EncodedCountingMonoid(6, SumMonoid(3343)) }, Fingerprint { range: Range(584, 663), fp: EncodedCountingMonoid(6, SumMonoid(3800)) }, Fingerprint { range: Range(663, 803), fp: EncodedCountingMonoid(13, SumMonoid(9370)) }, Fingerprint { range: Range(803, 915), fp: EncodedCountingMonoid(13, SumMonoid(11021)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 658), items: [585, 613], want_response: true }, ItemSet { range: Range(658, 663), items: [658], want_response: true }, ItemSet { range: Range(663, 757), items: [663, 677], want_response: true }, ItemSet { range: Range(757, 803), items: [757, 758], want_response: true }, ItemSet { range: Range(803, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 658), items: [584, 620, 630, 653, 656, 657], want_response: false }, ItemSet { range: Range(658, 663), items: [], want_response: false }, ItemSet { range: Range(663, 757), items: [663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 915), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 658, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (658, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 663, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 585, 613, 658, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 658, 663, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 561, 581, 582, 585, 613, 658, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7411)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(6, SumMonoid(3580)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [658], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 658, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (658, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 561, 581, 582, 585, 613, 658, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 585, 613, 658, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 329, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(7082)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 329], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 329], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (329, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 329, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 329, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 165, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(6918)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 165], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 165], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (165, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 165, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 165, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 83, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(6836)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 83], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 83], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (83, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 83, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 83, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {42, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(42, 915), fp: EncodedCountingMonoid(12, SumMonoid(6795)) }], item_sets: [ItemSet { range: Range(915, 42), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(42, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 42), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(42, 526), items: [42, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(42, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [42, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(42, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 677, 757, 758, 914], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {42, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [42, 61, 581, 582, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 42, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 42, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 42, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {61, 63, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(61, 915), fp: EncodedCountingMonoid(12, SumMonoid(6816)) }], item_sets: [ItemSet { range: Range(915, 61), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(61, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 61), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(61, 541), items: [61, 63], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [61, 63], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(61, true), (63, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {61, 63, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 63, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {53, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(53, 915), fp: EncodedCountingMonoid(12, SumMonoid(6806)) }], item_sets: [ItemSet { range: Range(915, 53), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(53, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 53), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(53, 541), items: [53, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(53, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [53, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(53, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {53, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [53, 61, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6801)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {45, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(45, 915), fp: EncodedCountingMonoid(12, SumMonoid(6798)) }], item_sets: [ItemSet { range: Range(915, 45), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(45, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 45), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(45, 526), items: [45, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(45, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [45, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(45, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 677, 757, 758, 914], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {45, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [45, 61, 581, 582, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 45, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 45, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 45, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {47, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(47, 915), fp: EncodedCountingMonoid(12, SumMonoid(6800)) }], item_sets: [ItemSet { range: Range(915, 47), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(47, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 47), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(47, 526), items: [47, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(47, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {47, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [61, 581, 582, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 677, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6801)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(5, SumMonoid(3770)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 757), items: [664, 677], want_response: true }, ItemSet { range: Range(757, 810), items: [757, 758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 757), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(757, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 677, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (677, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 677, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 677, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 339, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6463)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 339), items: [48, 61], want_response: true }, ItemSet { range: Range(339, 541), items: [339], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 339), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327], want_response: false }, ItemSet { range: Range(339, 541), items: [343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61, 339], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true), (339, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 339, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 339, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 170, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6294)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 170), items: [48, 61], want_response: true }, ItemSet { range: Range(170, 541), items: [170], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 170), items: [64, 95, 107, 119, 141, 142, 148, 153], want_response: false }, ItemSet { range: Range(170, 541), items: [171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61, 170], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true), (170, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 170, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 170, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 85, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6209)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 85), items: [48, 61], want_response: true }, ItemSet { range: Range(85, 541), items: [85], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 85), items: [64], want_response: false }, ItemSet { range: Range(85, 541), items: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61, 85], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true), (85, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 85, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 85, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {43, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(43, 915), fp: EncodedCountingMonoid(12, SumMonoid(6167)) }], item_sets: [ItemSet { range: Range(915, 43), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(43, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 43), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(43, 61), items: [43, 48], want_response: true }, ItemSet { range: Range(61, 526), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(43, 61), items: [47], want_response: false }, ItemSet { range: Range(61, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [43, 48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(43, true), (48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 914], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {43, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [43, 48, 61, 581, 582, 585, 613, 664, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 43, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 43, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 43, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 64, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6188)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 64), items: [48, 61], want_response: true }, ItemSet { range: Range(64, 541), items: [64], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 64), items: [], want_response: false }, ItemSet { range: Range(64, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 64, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 54, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6178)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 61), items: [48, 54], want_response: true }, ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 61), items: [], want_response: false }, ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 54, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (54, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 54, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 54, 61, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 49, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(12, SumMonoid(6173)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 61), items: [48, 49], want_response: true }, ItemSet { range: Range(61, 541), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 61), items: [], want_response: false }, ItemSet { range: Range(61, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 49, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (49, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 49, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 49, 61, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {46, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(46, 915), fp: EncodedCountingMonoid(12, SumMonoid(6170)) }], item_sets: [ItemSet { range: Range(915, 46), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(46, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 46), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(46, 61), items: [46, 48], want_response: true }, ItemSet { range: Range(61, 526), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(46, 61), items: [47], want_response: false }, ItemSet { range: Range(61, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [46, 48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(46, true), (48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 914], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {46, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [46, 48, 61, 581, 582, 585, 613, 664, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 46, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 46, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 46, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(11, SumMonoid(6124)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {47, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(47, 915), fp: EncodedCountingMonoid(12, SumMonoid(6171)) }], item_sets: [ItemSet { range: Range(915, 47), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(47, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 915), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(915, 47), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(47, 61), items: [47, 48], want_response: true }, ItemSet { range: Range(61, 526), items: [61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(47, 61), items: [47], want_response: false }, ItemSet { range: Range(61, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {47, 48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 914] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 914, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 915), fp: EncodedCountingMonoid(11, SumMonoid(6124)) }], item_sets: [ItemSet { range: Range(915, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 915), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(915, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 915), fp: EncodedCountingMonoid(4, SumMonoid(3093)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 915), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 915), items: [914], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 915), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758, 914], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (914, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 914} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758, 914] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 457, 561, 581, 582, 585, 613, 664, 757, 758} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 759), fp: EncodedCountingMonoid(11, SumMonoid(5667)) }], item_sets: [ItemSet { range: Range(759, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 429), fp: EncodedCountingMonoid(31, SumMonoid(7476)) }, Fingerprint { range: Range(429, 759), fp: EncodedCountingMonoid(31, SumMonoid(18657)) }], item_sets: [ItemSet { range: Range(759, 48), items: [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(429, 613), fp: EncodedCountingMonoid(5, SumMonoid(2766)) }, Fingerprint { range: Range(613, 759), fp: EncodedCountingMonoid(4, SumMonoid(2792)) }], item_sets: [ItemSet { range: Range(48, 429), items: [48, 61], want_response: true }], wants: [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(429, 541), fp: EncodedCountingMonoid(8, SumMonoid(3720)) }, Fingerprint { range: Range(541, 613), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(613, 692), fp: EncodedCountingMonoid(8, SumMonoid(5221)) }, Fingerprint { range: Range(692, 759), fp: EncodedCountingMonoid(8, SumMonoid(5789)) }], item_sets: [ItemSet { range: Range(48, 429), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424], want_response: false }], wants: [48, 61], provide: [(777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(429, 541), items: [457], want_response: true }, ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 613), items: [582, 585], want_response: true }, ItemSet { range: Range(613, 692), items: [613, 664], want_response: true }, ItemSet { range: Range(692, 759), items: [757, 758], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(429, 541), items: [429, 435, 438, 441, 465, 470, 516, 526], want_response: false }, ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 613), items: [584], want_response: false }, ItemSet { range: Range(613, 692), items: [620, 630, 653, 656, 657, 663, 666, 676], want_response: false }, ItemSet { range: Range(692, 759), items: [692, 702, 710, 719, 734, 737, 739, 756], want_response: false }], wants: [457, 581, 582, 585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756], provide: [(457, true), (581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 457, 561, 581, 582, 585, 613, 664, 757, 758} + [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 457, 581, 582, 585, 613, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 457, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 457, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 457, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 686, 757, 758} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 759), fp: EncodedCountingMonoid(11, SumMonoid(5896)) }], item_sets: [ItemSet { range: Range(759, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 429), fp: EncodedCountingMonoid(31, SumMonoid(7476)) }, Fingerprint { range: Range(429, 759), fp: EncodedCountingMonoid(31, SumMonoid(18657)) }], item_sets: [ItemSet { range: Range(759, 48), items: [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(429, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 759), fp: EncodedCountingMonoid(4, SumMonoid(2865)) }], item_sets: [ItemSet { range: Range(48, 429), items: [48, 61], want_response: true }], wants: [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(429, 559), fp: EncodedCountingMonoid(11, SumMonoid(5364)) }, Fingerprint { range: Range(559, 664), fp: EncodedCountingMonoid(10, SumMonoid(6162)) }, Fingerprint { range: Range(664, 719), fp: EncodedCountingMonoid(5, SumMonoid(3446)) }, Fingerprint { range: Range(719, 759), fp: EncodedCountingMonoid(5, SumMonoid(3685)) }], item_sets: [ItemSet { range: Range(48, 429), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424], want_response: false }], wants: [48, 61], provide: [(777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(559, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(429, 559), items: [], want_response: true }, ItemSet { range: Range(585, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 719), items: [664, 686], want_response: true }, ItemSet { range: Range(719, 759), items: [757, 758], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(429, 559), items: [429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554], want_response: false }, ItemSet { range: Range(585, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 719), items: [666, 676, 692, 702, 710], want_response: false }, ItemSet { range: Range(719, 759), items: [719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(559, 579), items: [559, 561], want_response: true }, ItemSet { range: Range(579, 585), items: [579, 584], want_response: true }], wants: [585, 613, 664, 686, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(559, 579), items: [561], want_response: false }, ItemSet { range: Range(579, 585), items: [581, 582], want_response: false }], wants: [429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 559, 579, 584], provide: [(585, true), (613, true), (664, true), (686, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [581, 582], provide: [(429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (549, true), (554, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (559, true), (579, true), (584, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(581, true), (582, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 686, 757, 758} + [777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 559, 579, 584] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 686, 757, 758, 581, 582] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 686, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 686, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 686, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 800} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 801), fp: EncodedCountingMonoid(11, SumMonoid(6010)) }], item_sets: [ItemSet { range: Range(801, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 435), fp: EncodedCountingMonoid(32, SumMonoid(7905)) }, Fingerprint { range: Range(435, 801), fp: EncodedCountingMonoid(32, SumMonoid(19804)) }], item_sets: [ItemSet { range: Range(801, 48), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(435, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 801), fp: EncodedCountingMonoid(4, SumMonoid(2979)) }], item_sets: [ItemSet { range: Range(48, 435), items: [48, 61], want_response: true }], wants: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(435, 559), fp: EncodedCountingMonoid(10, SumMonoid(4935)) }, Fingerprint { range: Range(559, 664), fp: EncodedCountingMonoid(10, SumMonoid(6162)) }, Fingerprint { range: Range(664, 734), fp: EncodedCountingMonoid(6, SumMonoid(4165)) }, Fingerprint { range: Range(734, 801), fp: EncodedCountingMonoid(6, SumMonoid(4542)) }], item_sets: [ItemSet { range: Range(48, 435), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429], want_response: false }], wants: [48, 61], provide: [(803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(559, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(435, 559), items: [], want_response: true }, ItemSet { range: Range(585, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 734), items: [664], want_response: true }, ItemSet { range: Range(734, 800), items: [757, 758], want_response: true }, ItemSet { range: Range(800, 801), items: [800], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(435, 559), items: [435, 438, 441, 465, 470, 516, 526, 541, 549, 554], want_response: false }, ItemSet { range: Range(585, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 734), items: [666, 676, 692, 702, 710, 719], want_response: false }, ItemSet { range: Range(734, 800), items: [734, 737, 739, 756, 777, 799], want_response: false }, ItemSet { range: Range(800, 801), items: [], want_response: false }, ItemSet { range: Range(559, 579), items: [559, 561], want_response: true }, ItemSet { range: Range(579, 585), items: [579, 584], want_response: true }], wants: [585, 613, 664, 757, 758, 800], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(559, 579), items: [561], want_response: false }, ItemSet { range: Range(579, 585), items: [581, 582], want_response: false }], wants: [435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 559, 579, 584], provide: [(585, true), (613, true), (664, true), (757, true), (758, true), (800, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [581, 582], provide: [(435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true), (541, true), (549, true), (554, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (559, true), (579, true), (584, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [(581, true), (582, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 800} + [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 559, 579, 584] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758, 800, 581, 582] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 800, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 800, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 800, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 857} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 858), fp: EncodedCountingMonoid(11, SumMonoid(6067)) }], item_sets: [ItemSet { range: Range(858, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 470), fp: EncodedCountingMonoid(36, SumMonoid(9684)) }, Fingerprint { range: Range(470, 858), fp: EncodedCountingMonoid(36, SumMonoid(24615)) }], item_sets: [ItemSet { range: Range(858, 48), items: [863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(470, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 858), fp: EncodedCountingMonoid(4, SumMonoid(3036)) }], item_sets: [ItemSet { range: Range(48, 470), items: [48, 61], want_response: true }], wants: [863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(470, 579), fp: EncodedCountingMonoid(8, SumMonoid(4276)) }, Fingerprint { range: Range(579, 664), fp: EncodedCountingMonoid(8, SumMonoid(5042)) }, Fingerprint { range: Range(664, 777), fp: EncodedCountingMonoid(10, SumMonoid(7131)) }, Fingerprint { range: Range(777, 858), fp: EncodedCountingMonoid(10, SumMonoid(8166)) }], item_sets: [ItemSet { range: Range(48, 470), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465], want_response: false }], wants: [48, 61], provide: [(863, true), (884, true), (885, true), (888, true), (911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(470, 579), items: [561], want_response: true }, ItemSet { range: Range(579, 585), items: [581, 582], want_response: true }, ItemSet { range: Range(585, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 777), items: [758], want_response: true }, ItemSet { range: Range(777, 858), items: [857], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(470, 579), items: [470, 516, 526, 541, 549, 554, 559, 561], want_response: false }, ItemSet { range: Range(579, 585), items: [579, 584], want_response: false }, ItemSet { range: Range(585, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 777), items: [], want_response: false }, ItemSet { range: Range(777, 858), items: [777, 799, 803, 810, 815, 818, 819, 830, 840, 855], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 857], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (857, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(470, true), (516, true), (526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 857} + [863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 857] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 857, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 857, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 857, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 886} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 887), fp: EncodedCountingMonoid(11, SumMonoid(6096)) }], item_sets: [ItemSet { range: Range(887, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 526), fp: EncodedCountingMonoid(38, SumMonoid(10670)) }, Fingerprint { range: Range(526, 887), fp: EncodedCountingMonoid(37, SumMonoid(26261)) }], item_sets: [ItemSet { range: Range(887, 48), items: [888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 887), fp: EncodedCountingMonoid(4, SumMonoid(3065)) }], item_sets: [ItemSet { range: Range(48, 526), items: [48, 61], want_response: true }], wants: [888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 803), fp: EncodedCountingMonoid(12, SumMonoid(8707)) }, Fingerprint { range: Range(803, 887), fp: EncodedCountingMonoid(11, SumMonoid(9222)) }], item_sets: [ItemSet { range: Range(48, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(888, true), (911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 803), items: [758], want_response: true }, ItemSet { range: Range(803, 887), items: [886], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 887), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 886], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (886, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 886} + [888, 911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 886] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 886, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 886, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 886, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 900} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 901), fp: EncodedCountingMonoid(11, SumMonoid(6110)) }], item_sets: [ItemSet { range: Range(901, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 526), fp: EncodedCountingMonoid(38, SumMonoid(10670)) }, Fingerprint { range: Range(526, 901), fp: EncodedCountingMonoid(38, SumMonoid(27149)) }], item_sets: [ItemSet { range: Range(901, 48), items: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 901), fp: EncodedCountingMonoid(4, SumMonoid(3079)) }], item_sets: [ItemSet { range: Range(48, 526), items: [48, 61], want_response: true }], wants: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 803), fp: EncodedCountingMonoid(12, SumMonoid(8707)) }, Fingerprint { range: Range(803, 901), fp: EncodedCountingMonoid(12, SumMonoid(10110)) }], item_sets: [ItemSet { range: Range(48, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 803), items: [758], want_response: true }, ItemSet { range: Range(803, 901), items: [900], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 901), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 900], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (900, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 900} + [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 900] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 900, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 900, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 900, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 907} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 908), fp: EncodedCountingMonoid(11, SumMonoid(6117)) }], item_sets: [ItemSet { range: Range(908, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 526), fp: EncodedCountingMonoid(38, SumMonoid(10670)) }, Fingerprint { range: Range(526, 908), fp: EncodedCountingMonoid(38, SumMonoid(27149)) }], item_sets: [ItemSet { range: Range(908, 48), items: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 908), fp: EncodedCountingMonoid(4, SumMonoid(3086)) }], item_sets: [ItemSet { range: Range(48, 526), items: [48, 61], want_response: true }], wants: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 803), fp: EncodedCountingMonoid(12, SumMonoid(8707)) }, Fingerprint { range: Range(803, 908), fp: EncodedCountingMonoid(12, SumMonoid(10110)) }], item_sets: [ItemSet { range: Range(48, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 803), items: [758], want_response: true }, ItemSet { range: Range(803, 908), items: [907], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 908), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 907], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (907, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 907} + [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 907] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 907, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 907, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 907, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(11, SumMonoid(6121)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 909} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 910), fp: EncodedCountingMonoid(11, SumMonoid(6119)) }], item_sets: [ItemSet { range: Range(910, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 526), fp: EncodedCountingMonoid(38, SumMonoid(10670)) }, Fingerprint { range: Range(526, 910), fp: EncodedCountingMonoid(38, SumMonoid(27149)) }], item_sets: [ItemSet { range: Range(910, 48), items: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 910), fp: EncodedCountingMonoid(4, SumMonoid(3088)) }], item_sets: [ItemSet { range: Range(48, 526), items: [48, 61], want_response: true }], wants: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 803), fp: EncodedCountingMonoid(12, SumMonoid(8707)) }, Fingerprint { range: Range(803, 910), fp: EncodedCountingMonoid(12, SumMonoid(10110)) }], item_sets: [ItemSet { range: Range(48, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 803), items: [758], want_response: true }, ItemSet { range: Range(803, 910), items: [909], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 910), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 909], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (909, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 909} + [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 909] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 909, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 909, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 909, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 910} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 911), fp: EncodedCountingMonoid(11, SumMonoid(6120)) }], item_sets: [ItemSet { range: Range(911, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 526), fp: EncodedCountingMonoid(38, SumMonoid(10670)) }, Fingerprint { range: Range(526, 911), fp: EncodedCountingMonoid(38, SumMonoid(27149)) }], item_sets: [ItemSet { range: Range(911, 48), items: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 911), fp: EncodedCountingMonoid(4, SumMonoid(3089)) }], item_sets: [ItemSet { range: Range(48, 526), items: [48, 61], want_response: true }], wants: [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 803), fp: EncodedCountingMonoid(12, SumMonoid(8707)) }, Fingerprint { range: Range(803, 911), fp: EncodedCountingMonoid(12, SumMonoid(10110)) }], item_sets: [ItemSet { range: Range(48, 526), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48, 61], provide: [(911, true), (935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 803), items: [758], want_response: true }, ItemSet { range: Range(803, 911), items: [910], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 803), items: [777, 799], want_response: false }, ItemSet { range: Range(803, 911), items: [803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758, 910], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true), (910, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 910} + [911, 935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 581, 582, 585, 613, 664, 757, 758, 910] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 910, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 910, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 61, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 910, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(11, SumMonoid(6121)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 61], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 61], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (61, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 61, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 61, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {31, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(31, 912), fp: EncodedCountingMonoid(11, SumMonoid(6091)) }], item_sets: [ItemSet { range: Range(912, 31), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(31, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 912), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(912, 31), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(31, 526), items: [31, 48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(31, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [31, 48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(31, true), (48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {31, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [31, 48, 581, 582, 585, 613, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 31, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 31, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 31, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {46, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(46, 912), fp: EncodedCountingMonoid(11, SumMonoid(6106)) }], item_sets: [ItemSet { range: Range(912, 46), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(46, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 912), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(912, 46), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(46, 526), items: [46, 48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(46, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [46, 48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(46, true), (48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758], provide: [(47, true), (64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {46, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [46, 48, 581, 582, 585, 613, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 46, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 46, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 46, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 54, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(11, SumMonoid(6114)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 54], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 54], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (54, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 54, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 54, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 50, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(11, SumMonoid(6110)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 50], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 50], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (50, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 50, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 50, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6060)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {47, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(47, 912), fp: EncodedCountingMonoid(11, SumMonoid(6107)) }], item_sets: [ItemSet { range: Range(912, 47), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(47, 526), fp: EncodedCountingMonoid(39, SumMonoid(10717)) }, Fingerprint { range: Range(526, 912), fp: EncodedCountingMonoid(39, SumMonoid(28060)) }], item_sets: [ItemSet { range: Range(912, 47), items: [935, 944, 959, 981, 982, 991, 8, 20, 24], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(526, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(47, 526), items: [47, 48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(526, 584), fp: EncodedCountingMonoid(7, SumMonoid(3869)) }, Fingerprint { range: Range(584, 664), fp: EncodedCountingMonoid(7, SumMonoid(4463)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(47, 526), items: [47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 584), items: [582], want_response: true }, ItemSet { range: Range(584, 664), items: [585, 613], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(526, 582), items: [526, 541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 584), items: [], want_response: false }, ItemSet { range: Range(584, 664), items: [584, 620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(526, true), (541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {47, 48, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 581, 582, 585, 613, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 613, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 613, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6060)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2922)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 613], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 613, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (613, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 613, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 613, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 307, 561, 581, 582, 585, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5754)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2309)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 307], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 307], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 620), items: [582, 585], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (307, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 307, 561, 581, 582, 585, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 307, 581, 582, 585, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 307, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 307, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 307, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 460, 561, 581, 582, 585, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5907)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2309)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 460], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 460], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 620), items: [582, 585], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (460, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 460, 561, 581, 582, 585, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 460, 581, 582, 585, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 460, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 460, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 460, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 537, 561, 581, 582, 585, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5984)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2309)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 537], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 537], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 620), items: [582, 585], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (537, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 537, 561, 581, 582, 585, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 537, 581, 582, 585, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 537, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 537, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 537, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 575, 581, 582, 585, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6022)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2884)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 582), fp: EncodedCountingMonoid(3, SumMonoid(1717)) }], item_sets: [ItemSet { range: Range(582, 620), items: [582, 585], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 559), fp: EncodedCountingMonoid(3, SumMonoid(1644)) }, Fingerprint { range: Range(559, 582), fp: EncodedCountingMonoid(3, SumMonoid(1699)) }], item_sets: [ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [582, 585, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [], want_response: true }, ItemSet { range: Range(559, 581), items: [561, 575], want_response: true }, ItemSet { range: Range(581, 582), items: [581], want_response: true }], wants: [584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(582, true), (585, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 559), items: [541, 549, 554], want_response: false }, ItemSet { range: Range(559, 581), items: [559, 561, 579], want_response: false }, ItemSet { range: Range(581, 582), items: [], want_response: false }], wants: [575, 581], provide: [(584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579], provide: [(575, true), (581, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 575, 581, 582, 585, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559, 579] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 582, 585, 664, 757, 758, 575, 581] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 575, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 575, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 575, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 594, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6041)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2903)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 594], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 594, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (594, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 594, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 594, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(9, SumMonoid(5447)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2309)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [561, 581], want_response: true }, ItemSet { range: Range(582, 620), items: [582, 585], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 582), items: [541, 549, 554, 559, 561, 579], want_response: false }, ItemSet { range: Range(582, 620), items: [584], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 581, 582, 585, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 590, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6037)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2899)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 590], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 590, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (590, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 590, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 590, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 588, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6035)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2897)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 588], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 588, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (588, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 588, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 588, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 587, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6034)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2896)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 587], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 587, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (587, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 587, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 587, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 561, 581, 582, 585, 586, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(6033)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(5, SumMonoid(2895)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [585, 586], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 561), fp: EncodedCountingMonoid(4, SumMonoid(2203)) }, Fingerprint { range: Range(561, 585), fp: EncodedCountingMonoid(3, SumMonoid(1724)) }], item_sets: [ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [585, 586, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [], want_response: true }], wants: [620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(585, true), (586, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 561), items: [541, 549, 554, 559], want_response: false }], wants: [], provide: [(620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 561, 581, 582, 585, 586, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 541, 549, 554, 559] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 585, 586, 664, 757, 758] [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 281, 581, 582, 585, 586, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5753)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2334)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 281], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [581, 582], want_response: true }, ItemSet { range: Range(585, 620), items: [585, 586], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [541, 549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 586, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (586, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (561, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 281, 581, 582, 585, 586, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 581, 582, 585, 586, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 421, 581, 582, 585, 586, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5893)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2334)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 421], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 421], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [581, 582], want_response: true }, ItemSet { range: Range(585, 620), items: [585, 586], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (421, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [541, 549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 586, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (586, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (561, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 421, 581, 582, 585, 586, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 421, 581, 582, 585, 586, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 421, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 421, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] b all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 421, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [INFO] [stdout] true, true [INFO] [stdout] ---test run--- [INFO] [stdout] a items: {48, 491, 581, 582, 585, 586, 664, 757, 758, 911} [INFO] [stdout] b items: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(48, 912), fp: EncodedCountingMonoid(10, SumMonoid(5963)) }], item_sets: [ItemSet { range: Range(912, 48), items: [], want_response: true }], wants: [], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(48, 541), fp: EncodedCountingMonoid(39, SumMonoid(11196)) }, Fingerprint { range: Range(541, 912), fp: EncodedCountingMonoid(38, SumMonoid(27534)) }], item_sets: [ItemSet { range: Range(912, 48), items: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], want_response: false }], wants: [], provide: [] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [Fingerprint { range: Range(541, 664), fp: EncodedCountingMonoid(4, SumMonoid(2334)) }, Fingerprint { range: Range(664, 912), fp: EncodedCountingMonoid(4, SumMonoid(3090)) }], item_sets: [ItemSet { range: Range(48, 541), items: [48, 491], want_response: true }], wants: [935, 944, 959, 981, 982, 991, 8, 20, 24, 47], provide: [] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [Fingerprint { range: Range(541, 620), fp: EncodedCountingMonoid(7, SumMonoid(3927)) }, Fingerprint { range: Range(620, 664), fp: EncodedCountingMonoid(6, SumMonoid(3879)) }, Fingerprint { range: Range(664, 810), fp: EncodedCountingMonoid(13, SumMonoid(9510)) }, Fingerprint { range: Range(810, 912), fp: EncodedCountingMonoid(12, SumMonoid(10218)) }], item_sets: [ItemSet { range: Range(48, 541), items: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], want_response: false }], wants: [48, 491], provide: [(935, true), (944, true), (959, true), (981, true), (982, true), (991, true), (8, true), (20, true), (24, true), (47, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [581, 582], want_response: true }, ItemSet { range: Range(585, 620), items: [585, 586], want_response: true }, ItemSet { range: Range(620, 664), items: [], want_response: true }, ItemSet { range: Range(664, 758), items: [664, 757], want_response: true }, ItemSet { range: Range(758, 810), items: [758], want_response: true }, ItemSet { range: Range(810, 912), items: [911], want_response: true }], wants: [64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526], provide: [(48, true), (491, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [ItemSet { range: Range(541, 585), items: [541, 549, 554, 559, 561, 579, 584], want_response: false }, ItemSet { range: Range(585, 620), items: [], want_response: false }, ItemSet { range: Range(620, 664), items: [620, 630, 653, 656, 657, 663], want_response: false }, ItemSet { range: Range(664, 758), items: [666, 676, 692, 702, 710, 719, 734, 737, 739, 756], want_response: false }, ItemSet { range: Range(758, 810), items: [777, 799, 803], want_response: false }, ItemSet { range: Range(810, 912), items: [810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911], want_response: false }], wants: [581, 582, 585, 586, 664, 757, 758], provide: [(64, true), (95, true), (107, true), (119, true), (141, true), (142, true), (148, true), (153, true), (171, true), (180, true), (205, true), (208, true), (228, true), (230, true), (234, true), (237, true), (239, true), (240, true), (246, true), (275, true), (281, true), (287, true), (296, true), (319, true), (327, true), (343, true), (359, true), (374, true), (401, true), (403, true), (424, true), (429, true), (435, true), (438, true), (441, true), (465, true), (470, true), (516, true), (526, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888], provide: [(581, true), (582, true), (585, true), (586, true), (664, true), (757, true), (758, true)] } [INFO] [stdout] b----- [INFO] [stdout] b msg: Message { fps: [], item_sets: [], wants: [], provide: [(541, true), (549, true), (554, true), (559, true), (561, true), (579, true), (584, true), (620, true), (630, true), (653, true), (656, true), (657, true), (663, true), (666, true), (676, true), (692, true), (702, true), (710, true), (719, true), (734, true), (737, true), (739, true), (756, true), (777, true), (799, true), (803, true), (810, true), (815, true), (818, true), (819, true), (830, true), (840, true), (855, true), (863, true), (884, true), (885, true), (888, true)] } [INFO] [stdout] a----- [INFO] [stdout] a msg: Message { fps: [], item_sets: [], wants: [], provide: [] } [INFO] [stdout] a all: {48, 491, 581, 582, 585, 586, 664, 757, 758, 911} + [935, 944, 959, 981, 982, 991, 8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888] [INFO] [stdout] b all: {8, 20, 24, 47, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 516, 526, 541, 549, 554, 559, 561, 579, 584, 620, 630, 653, 656, 657, 663, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991} + [48, 491, 581, 582, 585, 586, 664, 757, 758] [INFO] [stdout] [INFO] [stdout] all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 491, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991] [INFO] [stdout] [INFO] [stdout] a all vec: [8, 20, 24, 47, 48, 64, 95, 107, 119, 141, 142, 148, 153, 171, 180, 205, 208, 228, 230, 234, 237, 239, 240, 246, 275, 281, 287, 296, 319, 327, 343, 359, 374, 401, 403, 424, 429, 435, 438, 441, 465, 470, 491, 516, 526, 541, 549, 554, 559, 561, 579, 581, 582, 584, 585, 586, 620, 630, 653, 656, 657, 663, 664, 666, 676, 692, 702, 710, 719, 734, 737, 739, 756, 757, 758, 777, 799, 803, 810, 815, 818, 819, 830, 840, 855, 863, 884, 885, 888, 911, 935, 944, 959, 981, 982, 991], true true [INFO] [stdout] [WARN] too many lines in the log, truncating it