diff --git a/CHANGELOG.md b/CHANGELOG.md index ba74a57e7..cb4d83a76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [Unreleased] + +## Libraries + +- Functional HashSets, aka immutable hashsets (`lib/hashset.dl`). At the API + level functional hashsets behave just like regular hashsets; however their + internal implementation supports cloning a in time of O(1), by sharing the + entire internal state between the clone and the original. Modifying the clone + updates only the affected state in a copy-on-write fashion, with the + rest of the state still shared with the parent. + + Example use case: computing the set of all unique id's that appear in a + stream. At every iteration, we add all newly observed ids to the set of + id's computed so far. This would normally amount to cloning and modifying a + potentially large set in time `O(n)`, where `n` is the size of the set. With + functional sets, the cost if `O(1)`. + + Functional data types are generally a great match for working with immutable + collections, e.g., collections stored in DDlog relations. We therefore plan + to introduce more functional data types in the future, possibly even + replacing the standard collections (`Set`, `Map`, `Vec`) with functional + versions. + ## [0.37.1] - Feb 23, 2021 ### Optimizations diff --git a/lib/hashset.dl b/lib/hashset.dl new file mode 100644 index 000000000..5f7bee870 --- /dev/null +++ b/lib/hashset.dl @@ -0,0 +1,200 @@ +/* Immutable hash sets. + * This module contains bindings for the `HashSet` type + * from the `im` crate. */ + +#[iterate_by_ref=iter:'A] +extern type HashSet<'A> + +extern function hashset_singleton(x: 'X): HashSet<'X> +extern function hashset_empty(): HashSet<'X> + +function size(s: HashSet<'X>): usize { + hashset_size(s) +} + +function insert(s: mut HashSet<'X>, v: 'X) { + hashset_insert(s, v) +} + +function insert_imm(s: HashSet<'X>, v: 'X): HashSet<'X> { + hashset_insert_imm(s, v) +} + +function remove(s: mut HashSet<'X>, v: 'X) { + hashset_remove(s, v) +} + +function remove_imm(s: HashSet<'X>, v: 'X): HashSet<'X> { + hashset_remove_imm(s, v) +} + +function contains(s: HashSet<'X>, v: 'X): bool { + hashset_contains(s, v) +} + +function is_empty(s: HashSet<'X>): bool { + hashset_is_empty(s) +} + +function nth(s: HashSet<'X>, n: usize): Option<'X> { + hashset_nth(s, n) +} + +function to_vec(s: HashSet<'A>): Vec<'A> { + hashset_to_vec(s) +} + +function to_hashset(v: Vec<'A>): HashSet<'A> { + var res = hashset_empty(); + for (x in v) { + res.insert(x); + }; + res +} + +function to_hashset(g: Group<'K, 'A>): HashSet<'A> { + var res = hashset_empty(); + for ((x, _) in g) { + res.insert(x); + }; + res +} + +function to_hashset(o: Option<'X>): HashSet<'X> { + match (o) { + Some{x} -> hashset_singleton(x), + None -> hashset_empty() + } +} + +function union(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> { + hashset_union(s1, s2) +} + +function union(sets: Vec>): HashSet<'X> { + hashset_unions(sets) +} + +function union(sets: Group<'K, HashSet<'X>>): HashSet<'X> { + group_hashset_unions(sets) +} + +function intersection(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> { + hashset_intersection(s1, s2) +} + +function difference(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> { + hashset_difference(s1, s2) +} + +/* Applies closure `f` to each element of the set. */ +function map(s: HashSet<'A>, f: function('A): 'B): HashSet<'B> { + var res = hashset_empty(); + for (x in s) { + res.insert(f(x)) + }; + res +} + +/* Returns the element that gives the minimum value from the specified function. + * If several elements are equally minimum, the first element is returned. + * If the set is empty, `None` is returned. */ +function arg_min(s: HashSet<'A>, f: function('A): 'B): Option<'A> { + hashset_arg_min(s, f) +} + +/* Returns the element that gives the maximum value from the specified function. + * If several elements are equally maximum, the first element is returned. + * If the set is empty, `None` is returned. */ +function arg_max(s: HashSet<'A>, f: function('A): 'B): Option<'A> { + hashset_arg_max(s, f) +} + +/* Returns the first element of the set that satisfies predicate `f` or + * `None` if none of the elements satisfy the predicate. */ +function find(s: HashSet<'A>, f: function('A): bool): Option<'A> { + for (x in s) { + if (f(x)) { + return Some{x} + } + }; + None +} + +/* Returns a vector containing only those elements in `s` that satisfy predicate + * `f`. */ +function filter(s: HashSet<'A>, f: function('A): bool): HashSet<'A> { + var res = hashset_empty(); + for (x in s) { + if (f(x)) { + res.insert(x) + } + }; + res +} + +/* Both filters and maps the set. + * + * Calls the closure on each element of the set. If the closure returns + * `Some{element}`, then that element is returned. */ +function filter_map(s: HashSet<'A>, f: function('A): Option<'B>): HashSet<'B> { + var res = hashset_empty(); + for (x in s) { + match (f(x)) { + None -> (), + Some{y} -> res.insert(y) + } + }; + res +} + +/* Returnds `true` iff all elements of the set satisfy predicate `f`. */ +function all(s: HashSet<'A>, f: function('A): bool): bool { + for (x in s) { + if (not f(x)) { + return false + } + }; + true +} + +/* Returnds `true` iff at least one element of the set satisfies predicate `f`. */ +function any(s: HashSet<'A>, f: function('A): bool): bool { + for (x in s) { + if (f(x)) { + return true + } + }; + false +} + +/* Iterates over the set is ascending order, aggregating its contents using `f`. + * + * `f` - takes the previous value of the accumulator and the next element in the + * set and returns the new value of the accumulator. + * + * `initializer` - initial value of the accumulator. */ +function fold(s: HashSet<'A>, f: function('B, 'A): 'B, initializer: 'B): 'B { + var res = initializer; + for (x in s) { + res = f(res, x) + }; + res +} + +extern function hashset_arg_min(s: HashSet<'A>, f: function('A): 'B): Option<'A> +extern function hashset_arg_max(s: HashSet<'A>, f: function('A): 'B): Option<'A> +extern function hashset_size(s: HashSet<'X>): usize +extern function hashset_insert(s: mut HashSet<'X>, v: 'X) +extern function hashset_remove(s: mut HashSet<'X>, v: 'X) +extern function hashset_insert_imm(s: HashSet<'X>, v: 'X): HashSet<'X> +extern function hashset_remove_imm(s: HashSet<'X>, v: 'X): HashSet<'X> +extern function hashset_contains(s: HashSet<'X>, v: 'X): bool +extern function hashset_is_empty(s: HashSet<'X>): bool +extern function hashset_nth(s: HashSet<'X>, n: usize): Option<'X> +extern function hashset_to_vec(s: HashSet<'A>): Vec<'A> +extern function hashset_union(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> +extern function hashset_unions(sets: Vec>): HashSet<'X> +extern function group_hashset_unions(sets: Group<'K, HashSet<'X>>): HashSet<'X> +extern function hashset_intersection(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> +extern function hashset_difference(s1: HashSet<'X>, s2: HashSet<'X>): HashSet<'X> diff --git a/lib/hashset.flatbuf.rs b/lib/hashset.flatbuf.rs new file mode 100644 index 000000000..dcd7f7d30 --- /dev/null +++ b/lib/hashset.flatbuf.rs @@ -0,0 +1,42 @@ +impl<'a, T, F> FromFlatBuffer> for typedefs::hashset::HashSet +where + T: Hash + Eq + Clone + FromFlatBuffer, + F: fbrt::Follow<'a> + 'a, +{ + fn from_flatbuf(fb: fbrt::Vector<'a, F>) -> ::std::result::Result { + let mut set = typedefs::hashset::HashSet::new(); + for x in FBIter::from_vector(fb) { + set.insert(T::from_flatbuf(x)?); + } + Ok(set) + } +} + +// For scalar types, the FlatBuffers API returns slice instead of 'Vector'. +impl<'a, T> FromFlatBuffer<&'a [T]> for typedefs::hashset::HashSet +where + T: Hash + Eq + Clone, +{ + fn from_flatbuf(fb: &'a [T]) -> ::std::result::Result { + let mut set = typedefs::hashset::HashSet::new(); + for x in fb.iter() { + set.insert(x.clone()); + } + Ok(set) + } +} + +impl<'b, T> ToFlatBuffer<'b> for typedefs::hashset::HashSet +where + T: Hash + Eq + Clone + Ord + ToFlatBufferVectorElement<'b>, +{ + type Target = fbrt::WIPOffset::Output>>; + + fn to_flatbuf(&self, fbb: &mut fbrt::FlatBufferBuilder<'b>) -> Self::Target { + let vec: ::std::vec::Vec = self + .iter() + .map(|x| x.to_flatbuf_vector_element(fbb)) + .collect(); + fbb.create_vector(vec.as_slice()) + } +} diff --git a/lib/hashset.rs b/lib/hashset.rs new file mode 100644 index 000000000..43dfbb940 --- /dev/null +++ b/lib/hashset.rs @@ -0,0 +1,387 @@ +use ddlog_rt::Closure; +use ddlog_std::{option2std, tuple2, Group, Option as DDOption, Vec as DDVec}; + +use differential_datalog::record::{CollectionKind, Record}; +use im::hashset::{ConsumingIter, HashSet as IMHashSet, OrderedConsumingIter, OrderedIter}; +use serde::{ + de::Deserializer, + ser::{SerializeSeq, Serializer}, +}; +use std::{ + borrow::Borrow, + cmp::Ordering, + collections::hash_map::DefaultHasher, + fmt::{Debug, Formatter, Result as FmtResult}, + hash::{BuildHasherDefault, Hash, Hasher}, + iter::FromIterator, + ops::DerefMut, + result::Result as StdResult, +}; + +#[derive(Clone)] +pub struct HashSet { + // We must use a deterministic hasher here instead of the default `RandomState` + // to ensure that hashset iterators yield elements in a consistent order. + set: IMHashSet>, +} + +impl Default for HashSet { + fn default() -> Self { + HashSet { + set: IMHashSet::with_hasher(>::default()), + } + } +} + +impl Hash for HashSet { + fn hash(&self, state: &mut H) { + // Our modified `im::HashSet` implementation ensures that `hash` is + // deterministic, i.e., given the same hasher and two sets with the + // same elements it returns the same hash value. In contrast, the + // original `im` crate currently violates this property. + self.set.hash(state); + } +} + +impl PartialEq for HashSet { + fn eq(&self, other: &Self) -> bool { + // The `Eq` implementation in `im::HashSet` is unable to rely on the + // ordered iterator (which requires the `Ord` trait) and is therefore + // inefficient compared to this. + + // Check if `other` is a clone of `self`. + if self.set.ptr_eq(&other.set) { + return true; + } + if self.len() != other.len() { + return false; + } + self.iter().eq(other.iter()) + } +} + +impl Eq for HashSet {} + +impl PartialOrd for HashSet { + fn partial_cmp(&self, other: &Self) -> Option { + if self.set.ptr_eq(&other.set) { + return Some(Ordering::Equal); + } + // We don't need to implement lexicographical ordering. If the two + // sets have different sizes, just compare the sizes. + match self.len().cmp(&other.len()) { + Ordering::Equal => (), + ord => return Some(ord), + } + // Our modified `im::HashSet` implementation ensures that `partial_cmp` + // is consistent: given the same hasher and two sets with the + // same elements, it returns `Ordering::Equal`. In contrast, the + // original `im` crate currently violates this property. + self.set.partial_cmp(&other.set) + } +} + +impl Ord for HashSet { + fn cmp(&self, other: &Self) -> Ordering { + if self.set.ptr_eq(&other.set) { + return Ordering::Equal; + } + match self.len().cmp(&other.len()) { + Ordering::Equal => (), + ord => return ord, + } + + // Our modified `IMHashSet` implementation ensures that `cmp` + // is consistent: given the same hasher and two sets with the + // same elements it returns `Ordering::Equal`. In contrast, the + // original `im` crate currently violates this property. + self.set.cmp(&other.set) + } +} + +impl Serialize for HashSet { + fn serialize(&self, serializer: S) -> StdResult + where + S: Serializer, + { + // Don't use IMHashSet's implementation of `serialize` to + // ensure deterministic order. + let mut s = serializer.serialize_seq(Some(self.len()))?; + for i in self.iter() { + s.serialize_element(i)?; + } + s.end() + } +} + +impl<'de, T: Deserialize<'de> + Hash + Eq + Clone> Deserialize<'de> for HashSet { + fn deserialize(deserializer: D) -> StdResult + where + D: Deserializer<'de>, + { + IMHashSet::deserialize(deserializer).map(HashSet::from) + } +} + +impl HashSet { + pub fn len(&self) -> usize { + self.set.len() + } +} + +impl<'a, T: Hash + Ord> HashSet { + // Always use this iterator over `im::HashSet::iter` in scenarios where + // order matters (serialization, formatting, etc.). + pub fn iter(&'a self) -> OrderedIter<'a, T> { + // The default IMHashSet iterator does not guarantee consistent + // ordering: two sets with the same elements can iterate over them + // in different order even when using the same hasher. This can + // lead to non-deterministic behavior in DDlog code that iterates + // over hashsets. We must therefore use a deterministic iterator. + self.set.ordered_iter() + } +} + +impl IntoIterator for HashSet { + type Item = T; + type IntoIter = OrderedConsumingIter; + + fn into_iter(self) -> Self::IntoIter { + // Use ordered iterator that guarantees consistent ordering. + self.set.into_ordered_iter() + } +} + +impl, RT> FromIterator for HashSet { + fn from_iter(iter: I) -> Self + where + I: IntoIterator, + { + HashSet { + set: IMHashSet::from_iter(iter), + } + } +} + +impl HashSet { + pub fn new() -> Self { + Self::default() + } + pub fn is_empty(&self) -> bool { + self.set.is_empty() + } +} + +impl From>> for HashSet { + fn from(set: IMHashSet>) -> Self { + HashSet { set } + } +} + +impl HashSet { + pub fn contains(&self, x: &BT) -> bool + where + BT: Hash + Eq, + T: Borrow, + { + self.set.contains(x) + } +} + +impl HashSet { + pub fn unit(x: T) -> Self { + let mut set = IMHashSet::default(); + set.insert(x); + HashSet::from(set) + } + pub fn insert(&mut self, x: T) -> Option { + self.set.insert(x) + } + pub fn remove(&mut self, x: &BT) -> Option + where + BT: Hash + Eq, + T: Borrow, + { + self.set.remove(x) + } + pub fn without(&self, x: &T) -> Self { + HashSet::from(self.set.without(x)) + } + pub fn update(&self, x: T) -> Self { + HashSet::from(self.set.update(x)) + } + pub fn union(self, other: Self) -> Self { + // `im::HashSet` implements union by adding elements from `other` to + // `self`. This is inefficient when `other` is much + // larger than `self`. The following optimization will become + // unnecessary once this PR or something similar has landed: + // https://github.com/bodil/im-rs/pull/163. + if self.len() >= other.len() { + HashSet::from(self.set.union(other.set)) + } else { + HashSet::from(other.set.union(self.set)) + } + } + pub fn unions(i: I) -> Self + where + I: IntoIterator, + { + let mut sets: Vec<_> = i.into_iter().collect(); + + // Start with the largest set. + if let Some((largest_idx, _)) = sets.iter().enumerate().max_by_key(|(_, s)| s.len()) { + let mut largest_set = Self::default(); + std::mem::swap(&mut largest_set, &mut sets[largest_idx]); + + sets.into_iter().fold(largest_set, Self::union) + } else { + Self::default() + } + } + pub fn intersection(self, other: Self) -> Self { + HashSet::from(self.set.intersection(other.set)) + } + pub fn difference(self, other: Self) -> Self { + HashSet::from(self.set.difference(other.set)) + } +} + +// I don't want to implement `Deref` for `HashSet` to prevent +// accidentally calling `im::HashSet` methods. For example, +// `im::HashSet::iter` returns the non-deterministic iterator (which can +// mess up DDlog in ways one can easily miss unless they test on big +// enough sets). + +// impl Deref for HashSet { +// type Target = IMHashSet; +// +// fn deref(//self) -> //Self::Target { +// //self.set +// } +// } +// +// impl DerefMut for HashSet { +// fn deref_mut(//mut self) -> //mut Self::Target { +// //mut self.set +// } +// } + +impl FromRecord for HashSet { + fn from_record(val: &Record) -> StdResult { + match val { + Record::Array(_, args) => StdResult::from_iter(args.iter().map(T::from_record)), + v => T::from_record(v).map(Self::unit), + } + } +} + +impl IntoRecord for HashSet { + fn into_record(self) -> Record { + Record::Array( + CollectionKind::Set, + self.into_iter().map(|x| x.into_record()).collect(), + ) + } +} + +// Set update semantics: update contains values that are in one of the sets +// but not the other. +impl Mutator> for Record { + fn mutate(&self, set: &mut HashSet) -> StdResult<(), String> { + let upd = >::from_record(self)?; + for v in upd.into_iter() { + if set.remove(&v).is_none() { + set.insert(v); + } + } + Ok(()) + } +} + +impl Debug for HashSet { + fn fmt(&self, f: &mut Formatter) -> FmtResult { + f.debug_set().entries(self.iter()).finish() + } +} + +pub fn hashset_size(s: &HashSet) -> std_usize { + s.len() as std_usize +} + +pub fn hashset_empty() -> HashSet { + HashSet::new() +} + +pub fn hashset_singleton(v: &T) -> HashSet { + HashSet::unit((*v).clone()) +} + +pub fn hashset_insert(s: &mut HashSet, v: &T) { + s.insert(v.clone()); +} + +pub fn hashset_insert_imm(s: &HashSet, v: &T) -> HashSet { + s.update((*v).clone()) +} + +pub fn hashset_remove(s: &mut HashSet, v: &T) { + s.remove(v); +} + +pub fn hashset_remove_imm(s: &HashSet, v: &T) -> HashSet { + s.without(v) +} + +pub fn hashset_contains(s: &HashSet, v: &T) -> bool { + s.contains(v) +} + +pub fn hashset_is_empty(s: &HashSet) -> bool { + s.is_empty() +} + +pub fn hashset_nth(s: &HashSet, n: &std_usize) -> DDOption { + option2std(s.iter().nth(*n as usize).cloned()) +} + +pub fn hashset_to_vec(s: &HashSet) -> DDVec { + DDVec { + vec: s.iter().cloned().collect(), + } +} + +pub fn hashset_union(s1: &HashSet, s2: &HashSet) -> HashSet { + s1.clone().union(s2.clone()) +} + +pub fn hashset_unions(sets: &Vec>) -> HashSet { + HashSet::unions(sets.iter().cloned()) +} + +pub fn group_hashset_unions( + sets: &Group>, +) -> HashSet { + HashSet::unions(sets.iter().map(|tuple2(x, _)| x)) +} + +pub fn hashset_intersection(s1: &HashSet, s2: &HashSet) -> HashSet { + s1.clone().intersection(s2.clone()) +} + +pub fn hashset_difference(s1: &HashSet, s2: &HashSet) -> HashSet { + s1.clone().difference(s2.clone()) +} + +pub fn hashset_arg_min( + s: &HashSet, + f: &Box>, +) -> DDOption { + DDOption::from(s.iter().min_by_key(|x| f.call(*x)).map(|x| (*x).clone())) +} + +pub fn hashset_arg_max( + s: &HashSet, + f: &Box>, +) -> DDOption { + DDOption::from(s.iter().max_by_key(|x| f.call(*x)).map(|x| (*x).clone())) +} diff --git a/lib/hashset.toml b/lib/hashset.toml new file mode 100644 index 000000000..bf8e5459e --- /dev/null +++ b/lib/hashset.toml @@ -0,0 +1,4 @@ +[dependencies.im] +git = "https://github.com/ddlog-dev/im-rs" +branch = "ddlog-1" +features = ["serde"] diff --git a/rust/template/differential_datalog/src/program/worker.rs b/rust/template/differential_datalog/src/program/worker.rs index 0d2e13705..a5cc3948d 100644 --- a/rust/template/differential_datalog/src/program/worker.rs +++ b/rust/template/differential_datalog/src/program/worker.rs @@ -648,7 +648,7 @@ impl<'a> DDlogWorker<'a> { }; for (id, (relid, v)) in delayed_vars.into_iter() { - v.set(collections.get(&relid).ok_or_else(|| format!("delayed variable {} refers to unknown base relation {}", id, relid))?); + v.set(&collections.get(&relid).ok_or_else(|| format!("delayed variable {} refers to unknown base relation {}", id, relid))?.consolidate()); }; for (relid, collection) in collections { diff --git a/src/Language/DifferentialDatalog/Validate.hs b/src/Language/DifferentialDatalog/Validate.hs index 1231035ed..eb0b4a1b0 100644 --- a/src/Language/DifferentialDatalog/Validate.hs +++ b/src/Language/DifferentialDatalog/Validate.hs @@ -359,7 +359,10 @@ ruleValidateExpressions d rl = do atomValidate :: (MonadError String me) => DatalogProgram -> ECtx -> Atom -> me () atomValidate d ctx atom = do - rel <- checkRelation (pos atom) d $ atomRelation atom + -- Disabling the following check, as it prevents meaningful use cases where + -- we want to use delayed streams. See, e.g., the `UniqueUsers` example in + -- `streams.dl`. + -- This constraint is meant to reduce the risk of divergent programs. -- For example, the following program diverges if 'S1', 'S2' are streams -- (specifically, it will continue spitting out the same value of 'Sum' for @@ -372,8 +375,9 @@ atomValidate d ctx atom = do -- TODO: It does not however guarantee convergence, e.g., this will diverge -- even with relations: 'R1(x) :- R1-1(x)'. We may need a stronger check -- to prevent such situations. - when (atomIsDelayed atom) - $ check d (relSemantics rel /= RelStream) (pos $ atomDelay atom) "Cannot apply the delay operator to a stream." + --rel <- checkRelation (pos atom) d $ atomRelation atom + --when (atomIsDelayed atom) + -- $ check d (relSemantics rel /= RelStream) (pos $ atomDelay atom) "Cannot apply the delay operator to a stream." -- variable cannot be declared and used in the same atom uniqNames (Just d) (\v -> "Variable " ++ show v ++ " is both declared and used inside relational atom " ++ show atom) $ exprVarDecls d ctx $ atomVal atom diff --git a/test/datalog_tests/hashset_test.dat b/test/datalog_tests/hashset_test.dat new file mode 100644 index 000000000..1f240db2b --- /dev/null +++ b/test/datalog_tests/hashset_test.dat @@ -0,0 +1,2 @@ +dump hashset_test::SetTransforms; +dump hashset_test::SetFolds; diff --git a/test/datalog_tests/hashset_test.dl b/test/datalog_tests/hashset_test.dl new file mode 100644 index 000000000..f73c3f5f8 --- /dev/null +++ b/test/datalog_tests/hashset_test.dl @@ -0,0 +1,82 @@ +import hashset +import vec + +typedef TestSet = HashSet<(s64, Vec)> + +function test_set(): TestSet { + [ (0, [0,1,2]) + , (1, [2,3,4]) + , (2, [4,5,6]) + , (3, [6,7,8]) + , (4, [8,9,10]) + ].to_hashset() +} + + +output relation SetTransforms(description: string, s: TestSet) + +// map. +SetTransforms( + "map(push 100)", + test_set().map(|x| { var y = x; y.1.push(100); y } )). + +// filter. +SetTransforms( + "filter(contains 2)", + test_set().filter(|x| x.1.any(|y| y == 2))). + +// filter_map. +SetTransforms( + "filter_map(==1, :=100)", + test_set().filter_map(|x| if (x.0 == 1) { + Some{ {var y = x; y.0 = 100; y} } + } else { + None + })). + +// arg_min. +SetTransforms( + "arg_min(min)", + hashset_singleton(test_set().arg_min(|x| x.1.arg_min(|x|x)).unwrap_or_default())). + +// arg_max. +SetTransforms( + "arg_max(max)", + hashset_singleton(test_set().arg_max(|x| x.1.arg_max(|x|x)).unwrap_or_default())). + +// find. +SetTransforms( + "find(contains(3))", + test_set().find(|x| x.1.any(|y|y==3)).to_hashset()). + +// any. +SetTransforms( + "any(contains(3))", + if (test_set().any(|x| x.1.any(|y|y==3))) { + test_set() + } else { + hashset_empty() + }). + +// all. +SetTransforms( + "all(contains(3))", + if (test_set().all(|x| x.1.any(|y|y==3))) { + test_set() + } else { + hashset_empty() + }). + +// fold +output relation SetFolds(description: string, a: s64) + +SetFolds( + "fold(+)", + test_set().fold(|a, x| a + x.0, 0) +). + +SetFolds( + "fold(fold(+))", + test_set().fold(|a, x| a + x.1.fold(|b,y| b + y, 0), 0) +). + diff --git a/test/datalog_tests/hashset_test.dump.expected b/test/datalog_tests/hashset_test.dump.expected new file mode 100644 index 000000000..7d1f9a333 --- /dev/null +++ b/test/datalog_tests/hashset_test.dump.expected @@ -0,0 +1,10 @@ +hashset_test::SetTransforms{.description = "all(contains(3))", .s = []} +hashset_test::SetTransforms{.description = "any(contains(3))", .s = [(2, [4, 5, 6]), (4, [8, 9, 10]), (3, [6, 7, 8]), (1, [2, 3, 4]), (0, [0, 1, 2])]} +hashset_test::SetTransforms{.description = "arg_max(max)", .s = [(4, [8, 9, 10])]} +hashset_test::SetTransforms{.description = "arg_min(min)", .s = [(0, [0, 1, 2])]} +hashset_test::SetTransforms{.description = "filter(contains 2)", .s = [(1, [2, 3, 4]), (0, [0, 1, 2])]} +hashset_test::SetTransforms{.description = "filter_map(==1, :=100)", .s = [(100, [2, 3, 4])]} +hashset_test::SetTransforms{.description = "find(contains(3))", .s = [(1, [2, 3, 4])]} +hashset_test::SetTransforms{.description = "map(push 100)", .s = [(1, [2, 3, 4, 100]), (3, [6, 7, 8, 100]), (2, [4, 5, 6, 100]), (0, [0, 1, 2, 100]), (4, [8, 9, 10, 100])]} +hashset_test::SetFolds{.description = "fold(+)", .a = 10} +hashset_test::SetFolds{.description = "fold(fold(+))", .a = 75} diff --git a/test/datalog_tests/lib_test.dl b/test/datalog_tests/lib_test.dl index c4dea9216..0ade4ba85 100644 --- a/test/datalog_tests/lib_test.dl +++ b/test/datalog_tests/lib_test.dl @@ -10,5 +10,6 @@ import url_test import vec_test import map_test import set_test +import hashset_test import group_test -import base64_test \ No newline at end of file +import base64_test diff --git a/test/datalog_tests/streams.dl b/test/datalog_tests/streams.dl index fd083336a..bb547c358 100644 --- a/test/datalog_tests/streams.dl +++ b/test/datalog_tests/streams.dl @@ -1,6 +1,7 @@ /* Test "stream" relations. They should take no memory. */ import json +import hashset typedef Object = Object { field: u128 @@ -255,3 +256,56 @@ DataUniqueFold(window, unique) :- DataUnique(window, unique) :- DataUniqueFold(window, unique_vals), var unique = unique_vals.group_by(window).group_set_unions(). + +/* Count the number of unique values in a stream using regular sets + * and immutable HashSet. */ + +typedef user_id = u128 + +/* This relation controls the computation. Inserting a record in + * `EnableAggregation` triggers the output of unique users count. If the + * record is never deleted, the program will continue producing outputs for + * all future timestamps and never terminate. This is a great way to shoot + * oneself in the foot, and we should find a better solution. */ +input relation EnableAggregation() + +/* Regular sets */ + +input stream UserSession1(user: user_id) + +stream UniqueUsersFold1(users: Set) +UniqueUsersFold1(set_singleton(user)) :- + UserSession1(user). + +UniqueUsersFold1(old_users) :- + UniqueUsers1-1(old_users). + +stream UniqueUsers1(users: Set) + +UniqueUsers1(all_users) :- + EnableAggregation(), + UniqueUsersFold1(users), + var all_users = users.group_by(()).union(). + +output stream UniqueUserCount1(num_unique: usize) +UniqueUserCount1(users.size()) :- UniqueUsers1(users). + +/* Implementation using immutable sets. */ +input stream UserSession2(user: user_id) + +stream UniqueUsersFold2(users: HashSet) +UniqueUsersFold2(hashset_singleton(user)) :- + UserSession2(user). + +UniqueUsersFold2(old_users) :- + UniqueUsers2-1(old_users). + +stream UniqueUsers2(users: HashSet) + +UniqueUsers2(all_users) :- + EnableAggregation(), + UniqueUsersFold2(users), + var all_users = users.group_by(()).union(). + +output stream UniqueUserCount2(num_unique: usize) +UniqueUserCount2(users.size()) :- UniqueUsers2(users). diff --git a/test/datalog_tests/test-libs.sh b/test/datalog_tests/test-libs.sh index 9ca9261b9..c8c6729f6 100755 --- a/test/datalog_tests/test-libs.sh +++ b/test/datalog_tests/test-libs.sh @@ -25,6 +25,7 @@ test_lib url_test test_lib vec_test test_lib map_test test_lib set_test +test_lib hashset_test test_lib group_test test_lib base64_test diff --git a/test/datalog_tests/test-stream.sh b/test/datalog_tests/test-stream.sh index ae9bbbabc..dbd18c4f9 100755 --- a/test/datalog_tests/test-stream.sh +++ b/test/datalog_tests/test-stream.sh @@ -4,6 +4,8 @@ set -e ./run-test.sh streams release +DIFFERENTIAL_EAGER_MERGE=100 + run_test() { echo Running mem leak test for $1 iterations. ( for (( i=1; i<=$1; i++ )) @@ -86,6 +88,35 @@ run_rel_query_test() { } +run_count_unique_test() { + echo Running unique user count test $1 for $2 batches of $3 events; + + ( + echo "start;" + echo "insert EnableAggregation()," + echo "commit;" + for (( i=1; i<=$2; i++ )) + do + echo "echo Transaction $i;" + echo "start;" + for (( j=1; j<=$3; j++ )) + do + echo "insert UserSession$1($(($i * $2 + $j)))," + #echo "insert UserSession$1($j)," + done + echo "commit dump_changes;" + done + echo "start;" + echo "delete EnableAggregation()," + echo "commit;" + ) > unique_bench$1.dat + /usr/bin/time ./streams_ddlog/target/release/streams_cli -w 1 --no-store < unique_bench$1.dat > unique_bench$1.dump + diff -q unique_bench$1.dump unique_bench$1.dump.expected +} + +run_count_unique_test 1 1000 100 +run_count_unique_test 2 1000 100 + run_stream_query_test 1000 1000 1 run_stream_query_test 1000 1000 2 run_stream_query_test 1000 1000 4 diff --git a/test/datalog_tests/unique_bench1.dump.expected b/test/datalog_tests/unique_bench1.dump.expected new file mode 100644 index 000000000..b65f3e28e --- /dev/null +++ b/test/datalog_tests/unique_bench1.dump.expected @@ -0,0 +1,3000 @@ +Transaction 1 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 100}: +1 +Transaction 2 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 200}: +1 +Transaction 3 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 300}: +1 +Transaction 4 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 400}: +1 +Transaction 5 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 500}: +1 +Transaction 6 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 600}: +1 +Transaction 7 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 700}: +1 +Transaction 8 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 800}: +1 +Transaction 9 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 900}: +1 +Transaction 10 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1000}: +1 +Transaction 11 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1100}: +1 +Transaction 12 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1200}: +1 +Transaction 13 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1300}: +1 +Transaction 14 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1400}: +1 +Transaction 15 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1500}: +1 +Transaction 16 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1600}: +1 +Transaction 17 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1700}: +1 +Transaction 18 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1800}: +1 +Transaction 19 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 1900}: +1 +Transaction 20 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2000}: +1 +Transaction 21 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2100}: +1 +Transaction 22 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2200}: +1 +Transaction 23 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2300}: +1 +Transaction 24 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2400}: +1 +Transaction 25 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2500}: +1 +Transaction 26 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2600}: +1 +Transaction 27 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2700}: +1 +Transaction 28 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2800}: +1 +Transaction 29 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 2900}: +1 +Transaction 30 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3000}: +1 +Transaction 31 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3100}: +1 +Transaction 32 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3200}: +1 +Transaction 33 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3300}: +1 +Transaction 34 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3400}: +1 +Transaction 35 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3500}: +1 +Transaction 36 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3600}: +1 +Transaction 37 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3700}: +1 +Transaction 38 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3800}: +1 +Transaction 39 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 3900}: +1 +Transaction 40 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4000}: +1 +Transaction 41 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4100}: +1 +Transaction 42 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4200}: +1 +Transaction 43 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4300}: +1 +Transaction 44 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4400}: +1 +Transaction 45 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4500}: +1 +Transaction 46 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4600}: +1 +Transaction 47 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4700}: +1 +Transaction 48 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4800}: +1 +Transaction 49 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 4900}: +1 +Transaction 50 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5000}: +1 +Transaction 51 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5100}: +1 +Transaction 52 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5200}: +1 +Transaction 53 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5300}: +1 +Transaction 54 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5400}: +1 +Transaction 55 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5500}: +1 +Transaction 56 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5600}: +1 +Transaction 57 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5700}: +1 +Transaction 58 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5800}: +1 +Transaction 59 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 5900}: +1 +Transaction 60 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6000}: +1 +Transaction 61 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6100}: +1 +Transaction 62 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6200}: +1 +Transaction 63 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6300}: +1 +Transaction 64 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6400}: +1 +Transaction 65 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6500}: +1 +Transaction 66 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6600}: +1 +Transaction 67 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6700}: +1 +Transaction 68 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6800}: +1 +Transaction 69 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 6900}: +1 +Transaction 70 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7000}: +1 +Transaction 71 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7100}: +1 +Transaction 72 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7200}: +1 +Transaction 73 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7300}: +1 +Transaction 74 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7400}: +1 +Transaction 75 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7500}: +1 +Transaction 76 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7600}: +1 +Transaction 77 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7700}: +1 +Transaction 78 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7800}: +1 +Transaction 79 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 7900}: +1 +Transaction 80 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8000}: +1 +Transaction 81 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8100}: +1 +Transaction 82 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8200}: +1 +Transaction 83 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8300}: +1 +Transaction 84 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8400}: +1 +Transaction 85 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8500}: +1 +Transaction 86 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8600}: +1 +Transaction 87 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8700}: +1 +Transaction 88 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8800}: +1 +Transaction 89 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 8900}: +1 +Transaction 90 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9000}: +1 +Transaction 91 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9100}: +1 +Transaction 92 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9200}: +1 +Transaction 93 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9300}: +1 +Transaction 94 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9400}: +1 +Transaction 95 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9500}: +1 +Transaction 96 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9600}: +1 +Transaction 97 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9700}: +1 +Transaction 98 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9800}: +1 +Transaction 99 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 9900}: +1 +Transaction 100 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10000}: +1 +Transaction 101 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10100}: +1 +Transaction 102 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10200}: +1 +Transaction 103 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10300}: +1 +Transaction 104 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10400}: +1 +Transaction 105 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10500}: +1 +Transaction 106 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10600}: +1 +Transaction 107 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10700}: +1 +Transaction 108 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10800}: +1 +Transaction 109 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 10900}: +1 +Transaction 110 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11000}: +1 +Transaction 111 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11100}: +1 +Transaction 112 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11200}: +1 +Transaction 113 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11300}: +1 +Transaction 114 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11400}: +1 +Transaction 115 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11500}: +1 +Transaction 116 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11600}: +1 +Transaction 117 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11700}: +1 +Transaction 118 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11800}: +1 +Transaction 119 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 11900}: +1 +Transaction 120 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12000}: +1 +Transaction 121 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12100}: +1 +Transaction 122 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12200}: +1 +Transaction 123 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12300}: +1 +Transaction 124 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12400}: +1 +Transaction 125 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12500}: +1 +Transaction 126 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12600}: +1 +Transaction 127 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12700}: +1 +Transaction 128 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12800}: +1 +Transaction 129 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 12900}: +1 +Transaction 130 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13000}: +1 +Transaction 131 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13100}: +1 +Transaction 132 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13200}: +1 +Transaction 133 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13300}: +1 +Transaction 134 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13400}: +1 +Transaction 135 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13500}: +1 +Transaction 136 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13600}: +1 +Transaction 137 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13700}: +1 +Transaction 138 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13800}: +1 +Transaction 139 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 13900}: +1 +Transaction 140 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14000}: +1 +Transaction 141 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14100}: +1 +Transaction 142 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14200}: +1 +Transaction 143 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14300}: +1 +Transaction 144 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14400}: +1 +Transaction 145 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14500}: +1 +Transaction 146 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14600}: +1 +Transaction 147 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14700}: +1 +Transaction 148 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14800}: +1 +Transaction 149 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 14900}: +1 +Transaction 150 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15000}: +1 +Transaction 151 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15100}: +1 +Transaction 152 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15200}: +1 +Transaction 153 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15300}: +1 +Transaction 154 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15400}: +1 +Transaction 155 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15500}: +1 +Transaction 156 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15600}: +1 +Transaction 157 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15700}: +1 +Transaction 158 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15800}: +1 +Transaction 159 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 15900}: +1 +Transaction 160 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16000}: +1 +Transaction 161 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16100}: +1 +Transaction 162 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16200}: +1 +Transaction 163 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16300}: +1 +Transaction 164 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16400}: +1 +Transaction 165 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16500}: +1 +Transaction 166 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16600}: +1 +Transaction 167 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16700}: +1 +Transaction 168 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16800}: +1 +Transaction 169 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 16900}: +1 +Transaction 170 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17000}: +1 +Transaction 171 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17100}: +1 +Transaction 172 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17200}: +1 +Transaction 173 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17300}: +1 +Transaction 174 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17400}: +1 +Transaction 175 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17500}: +1 +Transaction 176 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17600}: +1 +Transaction 177 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17700}: +1 +Transaction 178 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17800}: +1 +Transaction 179 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 17900}: +1 +Transaction 180 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18000}: +1 +Transaction 181 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18100}: +1 +Transaction 182 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18200}: +1 +Transaction 183 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18300}: +1 +Transaction 184 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18400}: +1 +Transaction 185 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18500}: +1 +Transaction 186 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18600}: +1 +Transaction 187 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18700}: +1 +Transaction 188 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18800}: +1 +Transaction 189 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 18900}: +1 +Transaction 190 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19000}: +1 +Transaction 191 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19100}: +1 +Transaction 192 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19200}: +1 +Transaction 193 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19300}: +1 +Transaction 194 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19400}: +1 +Transaction 195 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19500}: +1 +Transaction 196 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19600}: +1 +Transaction 197 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19700}: +1 +Transaction 198 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19800}: +1 +Transaction 199 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 19900}: +1 +Transaction 200 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20000}: +1 +Transaction 201 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20100}: +1 +Transaction 202 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20200}: +1 +Transaction 203 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20300}: +1 +Transaction 204 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20400}: +1 +Transaction 205 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20500}: +1 +Transaction 206 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20600}: +1 +Transaction 207 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20700}: +1 +Transaction 208 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20800}: +1 +Transaction 209 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 20900}: +1 +Transaction 210 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21000}: +1 +Transaction 211 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21100}: +1 +Transaction 212 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21200}: +1 +Transaction 213 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21300}: +1 +Transaction 214 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21400}: +1 +Transaction 215 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21500}: +1 +Transaction 216 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21600}: +1 +Transaction 217 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21700}: +1 +Transaction 218 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21800}: +1 +Transaction 219 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 21900}: +1 +Transaction 220 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22000}: +1 +Transaction 221 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22100}: +1 +Transaction 222 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22200}: +1 +Transaction 223 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22300}: +1 +Transaction 224 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22400}: +1 +Transaction 225 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22500}: +1 +Transaction 226 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22600}: +1 +Transaction 227 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22700}: +1 +Transaction 228 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22800}: +1 +Transaction 229 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 22900}: +1 +Transaction 230 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23000}: +1 +Transaction 231 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23100}: +1 +Transaction 232 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23200}: +1 +Transaction 233 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23300}: +1 +Transaction 234 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23400}: +1 +Transaction 235 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23500}: +1 +Transaction 236 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23600}: +1 +Transaction 237 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23700}: +1 +Transaction 238 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23800}: +1 +Transaction 239 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 23900}: +1 +Transaction 240 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24000}: +1 +Transaction 241 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24100}: +1 +Transaction 242 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24200}: +1 +Transaction 243 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24300}: +1 +Transaction 244 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24400}: +1 +Transaction 245 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24500}: +1 +Transaction 246 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24600}: +1 +Transaction 247 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24700}: +1 +Transaction 248 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24800}: +1 +Transaction 249 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 24900}: +1 +Transaction 250 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25000}: +1 +Transaction 251 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25100}: +1 +Transaction 252 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25200}: +1 +Transaction 253 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25300}: +1 +Transaction 254 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25400}: +1 +Transaction 255 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25500}: +1 +Transaction 256 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25600}: +1 +Transaction 257 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25700}: +1 +Transaction 258 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25800}: +1 +Transaction 259 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 25900}: +1 +Transaction 260 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26000}: +1 +Transaction 261 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26100}: +1 +Transaction 262 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26200}: +1 +Transaction 263 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26300}: +1 +Transaction 264 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26400}: +1 +Transaction 265 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26500}: +1 +Transaction 266 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26600}: +1 +Transaction 267 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26700}: +1 +Transaction 268 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26800}: +1 +Transaction 269 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 26900}: +1 +Transaction 270 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27000}: +1 +Transaction 271 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27100}: +1 +Transaction 272 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27200}: +1 +Transaction 273 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27300}: +1 +Transaction 274 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27400}: +1 +Transaction 275 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27500}: +1 +Transaction 276 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27600}: +1 +Transaction 277 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27700}: +1 +Transaction 278 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27800}: +1 +Transaction 279 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 27900}: +1 +Transaction 280 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28000}: +1 +Transaction 281 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28100}: +1 +Transaction 282 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28200}: +1 +Transaction 283 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28300}: +1 +Transaction 284 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28400}: +1 +Transaction 285 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28500}: +1 +Transaction 286 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28600}: +1 +Transaction 287 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28700}: +1 +Transaction 288 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28800}: +1 +Transaction 289 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 28900}: +1 +Transaction 290 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29000}: +1 +Transaction 291 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29100}: +1 +Transaction 292 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29200}: +1 +Transaction 293 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29300}: +1 +Transaction 294 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29400}: +1 +Transaction 295 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29500}: +1 +Transaction 296 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29600}: +1 +Transaction 297 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29700}: +1 +Transaction 298 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29800}: +1 +Transaction 299 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 29900}: +1 +Transaction 300 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30000}: +1 +Transaction 301 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30100}: +1 +Transaction 302 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30200}: +1 +Transaction 303 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30300}: +1 +Transaction 304 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30400}: +1 +Transaction 305 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30500}: +1 +Transaction 306 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30600}: +1 +Transaction 307 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30700}: +1 +Transaction 308 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30800}: +1 +Transaction 309 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 30900}: +1 +Transaction 310 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31000}: +1 +Transaction 311 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31100}: +1 +Transaction 312 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31200}: +1 +Transaction 313 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31300}: +1 +Transaction 314 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31400}: +1 +Transaction 315 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31500}: +1 +Transaction 316 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31600}: +1 +Transaction 317 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31700}: +1 +Transaction 318 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31800}: +1 +Transaction 319 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 31900}: +1 +Transaction 320 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32000}: +1 +Transaction 321 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32100}: +1 +Transaction 322 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32200}: +1 +Transaction 323 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32300}: +1 +Transaction 324 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32400}: +1 +Transaction 325 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32500}: +1 +Transaction 326 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32600}: +1 +Transaction 327 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32700}: +1 +Transaction 328 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32800}: +1 +Transaction 329 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 32900}: +1 +Transaction 330 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33000}: +1 +Transaction 331 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33100}: +1 +Transaction 332 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33200}: +1 +Transaction 333 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33300}: +1 +Transaction 334 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33400}: +1 +Transaction 335 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33500}: +1 +Transaction 336 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33600}: +1 +Transaction 337 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33700}: +1 +Transaction 338 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33800}: +1 +Transaction 339 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 33900}: +1 +Transaction 340 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34000}: +1 +Transaction 341 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34100}: +1 +Transaction 342 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34200}: +1 +Transaction 343 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34300}: +1 +Transaction 344 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34400}: +1 +Transaction 345 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34500}: +1 +Transaction 346 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34600}: +1 +Transaction 347 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34700}: +1 +Transaction 348 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34800}: +1 +Transaction 349 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 34900}: +1 +Transaction 350 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35000}: +1 +Transaction 351 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35100}: +1 +Transaction 352 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35200}: +1 +Transaction 353 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35300}: +1 +Transaction 354 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35400}: +1 +Transaction 355 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35500}: +1 +Transaction 356 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35600}: +1 +Transaction 357 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35700}: +1 +Transaction 358 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35800}: +1 +Transaction 359 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 35900}: +1 +Transaction 360 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36000}: +1 +Transaction 361 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36100}: +1 +Transaction 362 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36200}: +1 +Transaction 363 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36300}: +1 +Transaction 364 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36400}: +1 +Transaction 365 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36500}: +1 +Transaction 366 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36600}: +1 +Transaction 367 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36700}: +1 +Transaction 368 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36800}: +1 +Transaction 369 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 36900}: +1 +Transaction 370 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37000}: +1 +Transaction 371 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37100}: +1 +Transaction 372 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37200}: +1 +Transaction 373 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37300}: +1 +Transaction 374 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37400}: +1 +Transaction 375 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37500}: +1 +Transaction 376 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37600}: +1 +Transaction 377 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37700}: +1 +Transaction 378 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37800}: +1 +Transaction 379 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 37900}: +1 +Transaction 380 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38000}: +1 +Transaction 381 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38100}: +1 +Transaction 382 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38200}: +1 +Transaction 383 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38300}: +1 +Transaction 384 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38400}: +1 +Transaction 385 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38500}: +1 +Transaction 386 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38600}: +1 +Transaction 387 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38700}: +1 +Transaction 388 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38800}: +1 +Transaction 389 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 38900}: +1 +Transaction 390 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39000}: +1 +Transaction 391 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39100}: +1 +Transaction 392 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39200}: +1 +Transaction 393 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39300}: +1 +Transaction 394 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39400}: +1 +Transaction 395 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39500}: +1 +Transaction 396 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39600}: +1 +Transaction 397 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39700}: +1 +Transaction 398 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39800}: +1 +Transaction 399 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 39900}: +1 +Transaction 400 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40000}: +1 +Transaction 401 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40100}: +1 +Transaction 402 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40200}: +1 +Transaction 403 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40300}: +1 +Transaction 404 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40400}: +1 +Transaction 405 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40500}: +1 +Transaction 406 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40600}: +1 +Transaction 407 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40700}: +1 +Transaction 408 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40800}: +1 +Transaction 409 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 40900}: +1 +Transaction 410 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41000}: +1 +Transaction 411 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41100}: +1 +Transaction 412 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41200}: +1 +Transaction 413 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41300}: +1 +Transaction 414 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41400}: +1 +Transaction 415 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41500}: +1 +Transaction 416 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41600}: +1 +Transaction 417 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41700}: +1 +Transaction 418 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41800}: +1 +Transaction 419 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 41900}: +1 +Transaction 420 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42000}: +1 +Transaction 421 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42100}: +1 +Transaction 422 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42200}: +1 +Transaction 423 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42300}: +1 +Transaction 424 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42400}: +1 +Transaction 425 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42500}: +1 +Transaction 426 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42600}: +1 +Transaction 427 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42700}: +1 +Transaction 428 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42800}: +1 +Transaction 429 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 42900}: +1 +Transaction 430 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43000}: +1 +Transaction 431 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43100}: +1 +Transaction 432 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43200}: +1 +Transaction 433 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43300}: +1 +Transaction 434 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43400}: +1 +Transaction 435 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43500}: +1 +Transaction 436 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43600}: +1 +Transaction 437 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43700}: +1 +Transaction 438 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43800}: +1 +Transaction 439 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 43900}: +1 +Transaction 440 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44000}: +1 +Transaction 441 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44100}: +1 +Transaction 442 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44200}: +1 +Transaction 443 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44300}: +1 +Transaction 444 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44400}: +1 +Transaction 445 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44500}: +1 +Transaction 446 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44600}: +1 +Transaction 447 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44700}: +1 +Transaction 448 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44800}: +1 +Transaction 449 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 44900}: +1 +Transaction 450 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45000}: +1 +Transaction 451 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45100}: +1 +Transaction 452 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45200}: +1 +Transaction 453 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45300}: +1 +Transaction 454 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45400}: +1 +Transaction 455 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45500}: +1 +Transaction 456 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45600}: +1 +Transaction 457 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45700}: +1 +Transaction 458 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45800}: +1 +Transaction 459 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 45900}: +1 +Transaction 460 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46000}: +1 +Transaction 461 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46100}: +1 +Transaction 462 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46200}: +1 +Transaction 463 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46300}: +1 +Transaction 464 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46400}: +1 +Transaction 465 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46500}: +1 +Transaction 466 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46600}: +1 +Transaction 467 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46700}: +1 +Transaction 468 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46800}: +1 +Transaction 469 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 46900}: +1 +Transaction 470 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47000}: +1 +Transaction 471 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47100}: +1 +Transaction 472 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47200}: +1 +Transaction 473 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47300}: +1 +Transaction 474 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47400}: +1 +Transaction 475 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47500}: +1 +Transaction 476 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47600}: +1 +Transaction 477 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47700}: +1 +Transaction 478 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47800}: +1 +Transaction 479 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 47900}: +1 +Transaction 480 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48000}: +1 +Transaction 481 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48100}: +1 +Transaction 482 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48200}: +1 +Transaction 483 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48300}: +1 +Transaction 484 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48400}: +1 +Transaction 485 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48500}: +1 +Transaction 486 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48600}: +1 +Transaction 487 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48700}: +1 +Transaction 488 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48800}: +1 +Transaction 489 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 48900}: +1 +Transaction 490 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49000}: +1 +Transaction 491 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49100}: +1 +Transaction 492 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49200}: +1 +Transaction 493 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49300}: +1 +Transaction 494 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49400}: +1 +Transaction 495 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49500}: +1 +Transaction 496 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49600}: +1 +Transaction 497 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49700}: +1 +Transaction 498 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49800}: +1 +Transaction 499 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 49900}: +1 +Transaction 500 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50000}: +1 +Transaction 501 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50100}: +1 +Transaction 502 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50200}: +1 +Transaction 503 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50300}: +1 +Transaction 504 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50400}: +1 +Transaction 505 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50500}: +1 +Transaction 506 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50600}: +1 +Transaction 507 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50700}: +1 +Transaction 508 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50800}: +1 +Transaction 509 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 50900}: +1 +Transaction 510 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51000}: +1 +Transaction 511 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51100}: +1 +Transaction 512 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51200}: +1 +Transaction 513 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51300}: +1 +Transaction 514 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51400}: +1 +Transaction 515 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51500}: +1 +Transaction 516 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51600}: +1 +Transaction 517 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51700}: +1 +Transaction 518 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51800}: +1 +Transaction 519 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 51900}: +1 +Transaction 520 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52000}: +1 +Transaction 521 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52100}: +1 +Transaction 522 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52200}: +1 +Transaction 523 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52300}: +1 +Transaction 524 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52400}: +1 +Transaction 525 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52500}: +1 +Transaction 526 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52600}: +1 +Transaction 527 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52700}: +1 +Transaction 528 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52800}: +1 +Transaction 529 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 52900}: +1 +Transaction 530 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53000}: +1 +Transaction 531 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53100}: +1 +Transaction 532 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53200}: +1 +Transaction 533 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53300}: +1 +Transaction 534 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53400}: +1 +Transaction 535 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53500}: +1 +Transaction 536 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53600}: +1 +Transaction 537 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53700}: +1 +Transaction 538 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53800}: +1 +Transaction 539 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 53900}: +1 +Transaction 540 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54000}: +1 +Transaction 541 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54100}: +1 +Transaction 542 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54200}: +1 +Transaction 543 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54300}: +1 +Transaction 544 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54400}: +1 +Transaction 545 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54500}: +1 +Transaction 546 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54600}: +1 +Transaction 547 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54700}: +1 +Transaction 548 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54800}: +1 +Transaction 549 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 54900}: +1 +Transaction 550 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55000}: +1 +Transaction 551 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55100}: +1 +Transaction 552 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55200}: +1 +Transaction 553 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55300}: +1 +Transaction 554 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55400}: +1 +Transaction 555 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55500}: +1 +Transaction 556 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55600}: +1 +Transaction 557 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55700}: +1 +Transaction 558 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55800}: +1 +Transaction 559 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 55900}: +1 +Transaction 560 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56000}: +1 +Transaction 561 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56100}: +1 +Transaction 562 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56200}: +1 +Transaction 563 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56300}: +1 +Transaction 564 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56400}: +1 +Transaction 565 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56500}: +1 +Transaction 566 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56600}: +1 +Transaction 567 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56700}: +1 +Transaction 568 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56800}: +1 +Transaction 569 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 56900}: +1 +Transaction 570 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57000}: +1 +Transaction 571 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57100}: +1 +Transaction 572 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57200}: +1 +Transaction 573 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57300}: +1 +Transaction 574 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57400}: +1 +Transaction 575 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57500}: +1 +Transaction 576 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57600}: +1 +Transaction 577 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57700}: +1 +Transaction 578 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57800}: +1 +Transaction 579 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 57900}: +1 +Transaction 580 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58000}: +1 +Transaction 581 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58100}: +1 +Transaction 582 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58200}: +1 +Transaction 583 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58300}: +1 +Transaction 584 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58400}: +1 +Transaction 585 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58500}: +1 +Transaction 586 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58600}: +1 +Transaction 587 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58700}: +1 +Transaction 588 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58800}: +1 +Transaction 589 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 58900}: +1 +Transaction 590 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59000}: +1 +Transaction 591 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59100}: +1 +Transaction 592 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59200}: +1 +Transaction 593 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59300}: +1 +Transaction 594 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59400}: +1 +Transaction 595 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59500}: +1 +Transaction 596 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59600}: +1 +Transaction 597 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59700}: +1 +Transaction 598 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59800}: +1 +Transaction 599 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 59900}: +1 +Transaction 600 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60000}: +1 +Transaction 601 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60100}: +1 +Transaction 602 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60200}: +1 +Transaction 603 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60300}: +1 +Transaction 604 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60400}: +1 +Transaction 605 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60500}: +1 +Transaction 606 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60600}: +1 +Transaction 607 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60700}: +1 +Transaction 608 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60800}: +1 +Transaction 609 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 60900}: +1 +Transaction 610 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61000}: +1 +Transaction 611 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61100}: +1 +Transaction 612 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61200}: +1 +Transaction 613 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61300}: +1 +Transaction 614 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61400}: +1 +Transaction 615 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61500}: +1 +Transaction 616 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61600}: +1 +Transaction 617 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61700}: +1 +Transaction 618 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61800}: +1 +Transaction 619 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 61900}: +1 +Transaction 620 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62000}: +1 +Transaction 621 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62100}: +1 +Transaction 622 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62200}: +1 +Transaction 623 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62300}: +1 +Transaction 624 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62400}: +1 +Transaction 625 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62500}: +1 +Transaction 626 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62600}: +1 +Transaction 627 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62700}: +1 +Transaction 628 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62800}: +1 +Transaction 629 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 62900}: +1 +Transaction 630 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63000}: +1 +Transaction 631 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63100}: +1 +Transaction 632 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63200}: +1 +Transaction 633 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63300}: +1 +Transaction 634 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63400}: +1 +Transaction 635 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63500}: +1 +Transaction 636 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63600}: +1 +Transaction 637 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63700}: +1 +Transaction 638 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63800}: +1 +Transaction 639 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 63900}: +1 +Transaction 640 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64000}: +1 +Transaction 641 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64100}: +1 +Transaction 642 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64200}: +1 +Transaction 643 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64300}: +1 +Transaction 644 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64400}: +1 +Transaction 645 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64500}: +1 +Transaction 646 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64600}: +1 +Transaction 647 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64700}: +1 +Transaction 648 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64800}: +1 +Transaction 649 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 64900}: +1 +Transaction 650 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65000}: +1 +Transaction 651 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65100}: +1 +Transaction 652 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65200}: +1 +Transaction 653 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65300}: +1 +Transaction 654 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65400}: +1 +Transaction 655 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65500}: +1 +Transaction 656 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65600}: +1 +Transaction 657 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65700}: +1 +Transaction 658 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65800}: +1 +Transaction 659 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 65900}: +1 +Transaction 660 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66000}: +1 +Transaction 661 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66100}: +1 +Transaction 662 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66200}: +1 +Transaction 663 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66300}: +1 +Transaction 664 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66400}: +1 +Transaction 665 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66500}: +1 +Transaction 666 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66600}: +1 +Transaction 667 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66700}: +1 +Transaction 668 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66800}: +1 +Transaction 669 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 66900}: +1 +Transaction 670 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67000}: +1 +Transaction 671 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67100}: +1 +Transaction 672 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67200}: +1 +Transaction 673 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67300}: +1 +Transaction 674 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67400}: +1 +Transaction 675 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67500}: +1 +Transaction 676 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67600}: +1 +Transaction 677 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67700}: +1 +Transaction 678 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67800}: +1 +Transaction 679 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 67900}: +1 +Transaction 680 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68000}: +1 +Transaction 681 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68100}: +1 +Transaction 682 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68200}: +1 +Transaction 683 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68300}: +1 +Transaction 684 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68400}: +1 +Transaction 685 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68500}: +1 +Transaction 686 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68600}: +1 +Transaction 687 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68700}: +1 +Transaction 688 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68800}: +1 +Transaction 689 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 68900}: +1 +Transaction 690 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69000}: +1 +Transaction 691 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69100}: +1 +Transaction 692 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69200}: +1 +Transaction 693 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69300}: +1 +Transaction 694 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69400}: +1 +Transaction 695 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69500}: +1 +Transaction 696 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69600}: +1 +Transaction 697 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69700}: +1 +Transaction 698 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69800}: +1 +Transaction 699 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 69900}: +1 +Transaction 700 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70000}: +1 +Transaction 701 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70100}: +1 +Transaction 702 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70200}: +1 +Transaction 703 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70300}: +1 +Transaction 704 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70400}: +1 +Transaction 705 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70500}: +1 +Transaction 706 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70600}: +1 +Transaction 707 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70700}: +1 +Transaction 708 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70800}: +1 +Transaction 709 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 70900}: +1 +Transaction 710 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71000}: +1 +Transaction 711 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71100}: +1 +Transaction 712 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71200}: +1 +Transaction 713 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71300}: +1 +Transaction 714 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71400}: +1 +Transaction 715 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71500}: +1 +Transaction 716 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71600}: +1 +Transaction 717 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71700}: +1 +Transaction 718 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71800}: +1 +Transaction 719 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 71900}: +1 +Transaction 720 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72000}: +1 +Transaction 721 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72100}: +1 +Transaction 722 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72200}: +1 +Transaction 723 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72300}: +1 +Transaction 724 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72400}: +1 +Transaction 725 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72500}: +1 +Transaction 726 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72600}: +1 +Transaction 727 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72700}: +1 +Transaction 728 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72800}: +1 +Transaction 729 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 72900}: +1 +Transaction 730 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73000}: +1 +Transaction 731 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73100}: +1 +Transaction 732 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73200}: +1 +Transaction 733 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73300}: +1 +Transaction 734 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73400}: +1 +Transaction 735 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73500}: +1 +Transaction 736 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73600}: +1 +Transaction 737 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73700}: +1 +Transaction 738 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73800}: +1 +Transaction 739 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 73900}: +1 +Transaction 740 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74000}: +1 +Transaction 741 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74100}: +1 +Transaction 742 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74200}: +1 +Transaction 743 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74300}: +1 +Transaction 744 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74400}: +1 +Transaction 745 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74500}: +1 +Transaction 746 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74600}: +1 +Transaction 747 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74700}: +1 +Transaction 748 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74800}: +1 +Transaction 749 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 74900}: +1 +Transaction 750 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75000}: +1 +Transaction 751 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75100}: +1 +Transaction 752 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75200}: +1 +Transaction 753 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75300}: +1 +Transaction 754 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75400}: +1 +Transaction 755 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75500}: +1 +Transaction 756 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75600}: +1 +Transaction 757 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75700}: +1 +Transaction 758 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75800}: +1 +Transaction 759 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 75900}: +1 +Transaction 760 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76000}: +1 +Transaction 761 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76100}: +1 +Transaction 762 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76200}: +1 +Transaction 763 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76300}: +1 +Transaction 764 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76400}: +1 +Transaction 765 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76500}: +1 +Transaction 766 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76600}: +1 +Transaction 767 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76700}: +1 +Transaction 768 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76800}: +1 +Transaction 769 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 76900}: +1 +Transaction 770 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77000}: +1 +Transaction 771 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77100}: +1 +Transaction 772 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77200}: +1 +Transaction 773 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77300}: +1 +Transaction 774 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77400}: +1 +Transaction 775 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77500}: +1 +Transaction 776 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77600}: +1 +Transaction 777 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77700}: +1 +Transaction 778 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77800}: +1 +Transaction 779 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 77900}: +1 +Transaction 780 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78000}: +1 +Transaction 781 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78100}: +1 +Transaction 782 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78200}: +1 +Transaction 783 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78300}: +1 +Transaction 784 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78400}: +1 +Transaction 785 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78500}: +1 +Transaction 786 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78600}: +1 +Transaction 787 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78700}: +1 +Transaction 788 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78800}: +1 +Transaction 789 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 78900}: +1 +Transaction 790 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79000}: +1 +Transaction 791 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79100}: +1 +Transaction 792 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79200}: +1 +Transaction 793 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79300}: +1 +Transaction 794 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79400}: +1 +Transaction 795 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79500}: +1 +Transaction 796 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79600}: +1 +Transaction 797 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79700}: +1 +Transaction 798 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79800}: +1 +Transaction 799 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 79900}: +1 +Transaction 800 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80000}: +1 +Transaction 801 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80100}: +1 +Transaction 802 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80200}: +1 +Transaction 803 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80300}: +1 +Transaction 804 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80400}: +1 +Transaction 805 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80500}: +1 +Transaction 806 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80600}: +1 +Transaction 807 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80700}: +1 +Transaction 808 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80800}: +1 +Transaction 809 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 80900}: +1 +Transaction 810 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81000}: +1 +Transaction 811 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81100}: +1 +Transaction 812 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81200}: +1 +Transaction 813 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81300}: +1 +Transaction 814 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81400}: +1 +Transaction 815 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81500}: +1 +Transaction 816 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81600}: +1 +Transaction 817 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81700}: +1 +Transaction 818 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81800}: +1 +Transaction 819 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 81900}: +1 +Transaction 820 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82000}: +1 +Transaction 821 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82100}: +1 +Transaction 822 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82200}: +1 +Transaction 823 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82300}: +1 +Transaction 824 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82400}: +1 +Transaction 825 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82500}: +1 +Transaction 826 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82600}: +1 +Transaction 827 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82700}: +1 +Transaction 828 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82800}: +1 +Transaction 829 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 82900}: +1 +Transaction 830 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83000}: +1 +Transaction 831 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83100}: +1 +Transaction 832 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83200}: +1 +Transaction 833 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83300}: +1 +Transaction 834 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83400}: +1 +Transaction 835 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83500}: +1 +Transaction 836 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83600}: +1 +Transaction 837 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83700}: +1 +Transaction 838 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83800}: +1 +Transaction 839 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 83900}: +1 +Transaction 840 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84000}: +1 +Transaction 841 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84100}: +1 +Transaction 842 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84200}: +1 +Transaction 843 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84300}: +1 +Transaction 844 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84400}: +1 +Transaction 845 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84500}: +1 +Transaction 846 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84600}: +1 +Transaction 847 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84700}: +1 +Transaction 848 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84800}: +1 +Transaction 849 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 84900}: +1 +Transaction 850 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85000}: +1 +Transaction 851 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85100}: +1 +Transaction 852 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85200}: +1 +Transaction 853 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85300}: +1 +Transaction 854 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85400}: +1 +Transaction 855 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85500}: +1 +Transaction 856 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85600}: +1 +Transaction 857 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85700}: +1 +Transaction 858 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85800}: +1 +Transaction 859 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 85900}: +1 +Transaction 860 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86000}: +1 +Transaction 861 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86100}: +1 +Transaction 862 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86200}: +1 +Transaction 863 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86300}: +1 +Transaction 864 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86400}: +1 +Transaction 865 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86500}: +1 +Transaction 866 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86600}: +1 +Transaction 867 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86700}: +1 +Transaction 868 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86800}: +1 +Transaction 869 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 86900}: +1 +Transaction 870 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87000}: +1 +Transaction 871 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87100}: +1 +Transaction 872 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87200}: +1 +Transaction 873 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87300}: +1 +Transaction 874 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87400}: +1 +Transaction 875 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87500}: +1 +Transaction 876 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87600}: +1 +Transaction 877 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87700}: +1 +Transaction 878 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87800}: +1 +Transaction 879 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 87900}: +1 +Transaction 880 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88000}: +1 +Transaction 881 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88100}: +1 +Transaction 882 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88200}: +1 +Transaction 883 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88300}: +1 +Transaction 884 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88400}: +1 +Transaction 885 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88500}: +1 +Transaction 886 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88600}: +1 +Transaction 887 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88700}: +1 +Transaction 888 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88800}: +1 +Transaction 889 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 88900}: +1 +Transaction 890 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89000}: +1 +Transaction 891 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89100}: +1 +Transaction 892 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89200}: +1 +Transaction 893 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89300}: +1 +Transaction 894 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89400}: +1 +Transaction 895 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89500}: +1 +Transaction 896 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89600}: +1 +Transaction 897 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89700}: +1 +Transaction 898 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89800}: +1 +Transaction 899 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 89900}: +1 +Transaction 900 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90000}: +1 +Transaction 901 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90100}: +1 +Transaction 902 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90200}: +1 +Transaction 903 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90300}: +1 +Transaction 904 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90400}: +1 +Transaction 905 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90500}: +1 +Transaction 906 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90600}: +1 +Transaction 907 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90700}: +1 +Transaction 908 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90800}: +1 +Transaction 909 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 90900}: +1 +Transaction 910 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91000}: +1 +Transaction 911 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91100}: +1 +Transaction 912 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91200}: +1 +Transaction 913 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91300}: +1 +Transaction 914 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91400}: +1 +Transaction 915 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91500}: +1 +Transaction 916 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91600}: +1 +Transaction 917 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91700}: +1 +Transaction 918 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91800}: +1 +Transaction 919 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 91900}: +1 +Transaction 920 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92000}: +1 +Transaction 921 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92100}: +1 +Transaction 922 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92200}: +1 +Transaction 923 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92300}: +1 +Transaction 924 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92400}: +1 +Transaction 925 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92500}: +1 +Transaction 926 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92600}: +1 +Transaction 927 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92700}: +1 +Transaction 928 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92800}: +1 +Transaction 929 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 92900}: +1 +Transaction 930 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93000}: +1 +Transaction 931 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93100}: +1 +Transaction 932 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93200}: +1 +Transaction 933 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93300}: +1 +Transaction 934 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93400}: +1 +Transaction 935 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93500}: +1 +Transaction 936 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93600}: +1 +Transaction 937 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93700}: +1 +Transaction 938 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93800}: +1 +Transaction 939 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 93900}: +1 +Transaction 940 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94000}: +1 +Transaction 941 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94100}: +1 +Transaction 942 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94200}: +1 +Transaction 943 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94300}: +1 +Transaction 944 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94400}: +1 +Transaction 945 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94500}: +1 +Transaction 946 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94600}: +1 +Transaction 947 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94700}: +1 +Transaction 948 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94800}: +1 +Transaction 949 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 94900}: +1 +Transaction 950 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95000}: +1 +Transaction 951 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95100}: +1 +Transaction 952 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95200}: +1 +Transaction 953 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95300}: +1 +Transaction 954 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95400}: +1 +Transaction 955 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95500}: +1 +Transaction 956 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95600}: +1 +Transaction 957 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95700}: +1 +Transaction 958 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95800}: +1 +Transaction 959 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 95900}: +1 +Transaction 960 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96000}: +1 +Transaction 961 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96100}: +1 +Transaction 962 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96200}: +1 +Transaction 963 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96300}: +1 +Transaction 964 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96400}: +1 +Transaction 965 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96500}: +1 +Transaction 966 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96600}: +1 +Transaction 967 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96700}: +1 +Transaction 968 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96800}: +1 +Transaction 969 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 96900}: +1 +Transaction 970 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97000}: +1 +Transaction 971 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97100}: +1 +Transaction 972 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97200}: +1 +Transaction 973 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97300}: +1 +Transaction 974 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97400}: +1 +Transaction 975 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97500}: +1 +Transaction 976 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97600}: +1 +Transaction 977 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97700}: +1 +Transaction 978 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97800}: +1 +Transaction 979 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 97900}: +1 +Transaction 980 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98000}: +1 +Transaction 981 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98100}: +1 +Transaction 982 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98200}: +1 +Transaction 983 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98300}: +1 +Transaction 984 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98400}: +1 +Transaction 985 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98500}: +1 +Transaction 986 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98600}: +1 +Transaction 987 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98700}: +1 +Transaction 988 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98800}: +1 +Transaction 989 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 98900}: +1 +Transaction 990 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99000}: +1 +Transaction 991 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99100}: +1 +Transaction 992 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99200}: +1 +Transaction 993 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99300}: +1 +Transaction 994 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99400}: +1 +Transaction 995 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99500}: +1 +Transaction 996 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99600}: +1 +Transaction 997 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99700}: +1 +Transaction 998 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99800}: +1 +Transaction 999 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 99900}: +1 +Transaction 1000 +UniqueUserCount1: +UniqueUserCount1{.num_unique = 100000}: +1 diff --git a/test/datalog_tests/unique_bench2.dump.expected b/test/datalog_tests/unique_bench2.dump.expected new file mode 100644 index 000000000..9ae9cc85c --- /dev/null +++ b/test/datalog_tests/unique_bench2.dump.expected @@ -0,0 +1,3000 @@ +Transaction 1 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 100}: +1 +Transaction 2 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 200}: +1 +Transaction 3 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 300}: +1 +Transaction 4 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 400}: +1 +Transaction 5 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 500}: +1 +Transaction 6 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 600}: +1 +Transaction 7 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 700}: +1 +Transaction 8 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 800}: +1 +Transaction 9 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 900}: +1 +Transaction 10 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1000}: +1 +Transaction 11 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1100}: +1 +Transaction 12 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1200}: +1 +Transaction 13 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1300}: +1 +Transaction 14 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1400}: +1 +Transaction 15 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1500}: +1 +Transaction 16 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1600}: +1 +Transaction 17 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1700}: +1 +Transaction 18 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1800}: +1 +Transaction 19 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 1900}: +1 +Transaction 20 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2000}: +1 +Transaction 21 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2100}: +1 +Transaction 22 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2200}: +1 +Transaction 23 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2300}: +1 +Transaction 24 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2400}: +1 +Transaction 25 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2500}: +1 +Transaction 26 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2600}: +1 +Transaction 27 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2700}: +1 +Transaction 28 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2800}: +1 +Transaction 29 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 2900}: +1 +Transaction 30 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3000}: +1 +Transaction 31 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3100}: +1 +Transaction 32 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3200}: +1 +Transaction 33 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3300}: +1 +Transaction 34 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3400}: +1 +Transaction 35 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3500}: +1 +Transaction 36 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3600}: +1 +Transaction 37 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3700}: +1 +Transaction 38 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3800}: +1 +Transaction 39 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 3900}: +1 +Transaction 40 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4000}: +1 +Transaction 41 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4100}: +1 +Transaction 42 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4200}: +1 +Transaction 43 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4300}: +1 +Transaction 44 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4400}: +1 +Transaction 45 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4500}: +1 +Transaction 46 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4600}: +1 +Transaction 47 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4700}: +1 +Transaction 48 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4800}: +1 +Transaction 49 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 4900}: +1 +Transaction 50 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5000}: +1 +Transaction 51 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5100}: +1 +Transaction 52 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5200}: +1 +Transaction 53 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5300}: +1 +Transaction 54 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5400}: +1 +Transaction 55 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5500}: +1 +Transaction 56 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5600}: +1 +Transaction 57 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5700}: +1 +Transaction 58 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5800}: +1 +Transaction 59 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 5900}: +1 +Transaction 60 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6000}: +1 +Transaction 61 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6100}: +1 +Transaction 62 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6200}: +1 +Transaction 63 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6300}: +1 +Transaction 64 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6400}: +1 +Transaction 65 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6500}: +1 +Transaction 66 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6600}: +1 +Transaction 67 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6700}: +1 +Transaction 68 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6800}: +1 +Transaction 69 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 6900}: +1 +Transaction 70 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7000}: +1 +Transaction 71 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7100}: +1 +Transaction 72 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7200}: +1 +Transaction 73 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7300}: +1 +Transaction 74 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7400}: +1 +Transaction 75 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7500}: +1 +Transaction 76 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7600}: +1 +Transaction 77 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7700}: +1 +Transaction 78 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7800}: +1 +Transaction 79 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 7900}: +1 +Transaction 80 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8000}: +1 +Transaction 81 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8100}: +1 +Transaction 82 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8200}: +1 +Transaction 83 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8300}: +1 +Transaction 84 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8400}: +1 +Transaction 85 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8500}: +1 +Transaction 86 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8600}: +1 +Transaction 87 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8700}: +1 +Transaction 88 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8800}: +1 +Transaction 89 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 8900}: +1 +Transaction 90 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9000}: +1 +Transaction 91 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9100}: +1 +Transaction 92 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9200}: +1 +Transaction 93 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9300}: +1 +Transaction 94 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9400}: +1 +Transaction 95 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9500}: +1 +Transaction 96 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9600}: +1 +Transaction 97 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9700}: +1 +Transaction 98 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9800}: +1 +Transaction 99 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 9900}: +1 +Transaction 100 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10000}: +1 +Transaction 101 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10100}: +1 +Transaction 102 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10200}: +1 +Transaction 103 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10300}: +1 +Transaction 104 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10400}: +1 +Transaction 105 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10500}: +1 +Transaction 106 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10600}: +1 +Transaction 107 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10700}: +1 +Transaction 108 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10800}: +1 +Transaction 109 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 10900}: +1 +Transaction 110 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11000}: +1 +Transaction 111 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11100}: +1 +Transaction 112 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11200}: +1 +Transaction 113 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11300}: +1 +Transaction 114 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11400}: +1 +Transaction 115 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11500}: +1 +Transaction 116 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11600}: +1 +Transaction 117 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11700}: +1 +Transaction 118 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11800}: +1 +Transaction 119 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 11900}: +1 +Transaction 120 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12000}: +1 +Transaction 121 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12100}: +1 +Transaction 122 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12200}: +1 +Transaction 123 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12300}: +1 +Transaction 124 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12400}: +1 +Transaction 125 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12500}: +1 +Transaction 126 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12600}: +1 +Transaction 127 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12700}: +1 +Transaction 128 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12800}: +1 +Transaction 129 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 12900}: +1 +Transaction 130 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13000}: +1 +Transaction 131 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13100}: +1 +Transaction 132 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13200}: +1 +Transaction 133 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13300}: +1 +Transaction 134 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13400}: +1 +Transaction 135 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13500}: +1 +Transaction 136 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13600}: +1 +Transaction 137 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13700}: +1 +Transaction 138 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13800}: +1 +Transaction 139 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 13900}: +1 +Transaction 140 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14000}: +1 +Transaction 141 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14100}: +1 +Transaction 142 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14200}: +1 +Transaction 143 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14300}: +1 +Transaction 144 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14400}: +1 +Transaction 145 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14500}: +1 +Transaction 146 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14600}: +1 +Transaction 147 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14700}: +1 +Transaction 148 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14800}: +1 +Transaction 149 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 14900}: +1 +Transaction 150 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15000}: +1 +Transaction 151 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15100}: +1 +Transaction 152 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15200}: +1 +Transaction 153 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15300}: +1 +Transaction 154 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15400}: +1 +Transaction 155 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15500}: +1 +Transaction 156 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15600}: +1 +Transaction 157 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15700}: +1 +Transaction 158 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15800}: +1 +Transaction 159 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 15900}: +1 +Transaction 160 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16000}: +1 +Transaction 161 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16100}: +1 +Transaction 162 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16200}: +1 +Transaction 163 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16300}: +1 +Transaction 164 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16400}: +1 +Transaction 165 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16500}: +1 +Transaction 166 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16600}: +1 +Transaction 167 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16700}: +1 +Transaction 168 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16800}: +1 +Transaction 169 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 16900}: +1 +Transaction 170 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17000}: +1 +Transaction 171 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17100}: +1 +Transaction 172 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17200}: +1 +Transaction 173 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17300}: +1 +Transaction 174 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17400}: +1 +Transaction 175 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17500}: +1 +Transaction 176 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17600}: +1 +Transaction 177 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17700}: +1 +Transaction 178 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17800}: +1 +Transaction 179 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 17900}: +1 +Transaction 180 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18000}: +1 +Transaction 181 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18100}: +1 +Transaction 182 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18200}: +1 +Transaction 183 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18300}: +1 +Transaction 184 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18400}: +1 +Transaction 185 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18500}: +1 +Transaction 186 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18600}: +1 +Transaction 187 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18700}: +1 +Transaction 188 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18800}: +1 +Transaction 189 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 18900}: +1 +Transaction 190 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19000}: +1 +Transaction 191 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19100}: +1 +Transaction 192 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19200}: +1 +Transaction 193 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19300}: +1 +Transaction 194 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19400}: +1 +Transaction 195 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19500}: +1 +Transaction 196 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19600}: +1 +Transaction 197 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19700}: +1 +Transaction 198 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19800}: +1 +Transaction 199 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 19900}: +1 +Transaction 200 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20000}: +1 +Transaction 201 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20100}: +1 +Transaction 202 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20200}: +1 +Transaction 203 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20300}: +1 +Transaction 204 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20400}: +1 +Transaction 205 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20500}: +1 +Transaction 206 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20600}: +1 +Transaction 207 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20700}: +1 +Transaction 208 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20800}: +1 +Transaction 209 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 20900}: +1 +Transaction 210 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21000}: +1 +Transaction 211 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21100}: +1 +Transaction 212 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21200}: +1 +Transaction 213 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21300}: +1 +Transaction 214 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21400}: +1 +Transaction 215 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21500}: +1 +Transaction 216 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21600}: +1 +Transaction 217 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21700}: +1 +Transaction 218 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21800}: +1 +Transaction 219 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 21900}: +1 +Transaction 220 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22000}: +1 +Transaction 221 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22100}: +1 +Transaction 222 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22200}: +1 +Transaction 223 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22300}: +1 +Transaction 224 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22400}: +1 +Transaction 225 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22500}: +1 +Transaction 226 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22600}: +1 +Transaction 227 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22700}: +1 +Transaction 228 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22800}: +1 +Transaction 229 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 22900}: +1 +Transaction 230 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23000}: +1 +Transaction 231 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23100}: +1 +Transaction 232 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23200}: +1 +Transaction 233 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23300}: +1 +Transaction 234 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23400}: +1 +Transaction 235 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23500}: +1 +Transaction 236 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23600}: +1 +Transaction 237 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23700}: +1 +Transaction 238 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23800}: +1 +Transaction 239 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 23900}: +1 +Transaction 240 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24000}: +1 +Transaction 241 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24100}: +1 +Transaction 242 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24200}: +1 +Transaction 243 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24300}: +1 +Transaction 244 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24400}: +1 +Transaction 245 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24500}: +1 +Transaction 246 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24600}: +1 +Transaction 247 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24700}: +1 +Transaction 248 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24800}: +1 +Transaction 249 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 24900}: +1 +Transaction 250 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25000}: +1 +Transaction 251 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25100}: +1 +Transaction 252 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25200}: +1 +Transaction 253 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25300}: +1 +Transaction 254 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25400}: +1 +Transaction 255 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25500}: +1 +Transaction 256 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25600}: +1 +Transaction 257 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25700}: +1 +Transaction 258 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25800}: +1 +Transaction 259 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 25900}: +1 +Transaction 260 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26000}: +1 +Transaction 261 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26100}: +1 +Transaction 262 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26200}: +1 +Transaction 263 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26300}: +1 +Transaction 264 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26400}: +1 +Transaction 265 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26500}: +1 +Transaction 266 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26600}: +1 +Transaction 267 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26700}: +1 +Transaction 268 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26800}: +1 +Transaction 269 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 26900}: +1 +Transaction 270 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27000}: +1 +Transaction 271 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27100}: +1 +Transaction 272 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27200}: +1 +Transaction 273 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27300}: +1 +Transaction 274 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27400}: +1 +Transaction 275 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27500}: +1 +Transaction 276 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27600}: +1 +Transaction 277 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27700}: +1 +Transaction 278 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27800}: +1 +Transaction 279 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 27900}: +1 +Transaction 280 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28000}: +1 +Transaction 281 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28100}: +1 +Transaction 282 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28200}: +1 +Transaction 283 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28300}: +1 +Transaction 284 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28400}: +1 +Transaction 285 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28500}: +1 +Transaction 286 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28600}: +1 +Transaction 287 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28700}: +1 +Transaction 288 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28800}: +1 +Transaction 289 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 28900}: +1 +Transaction 290 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29000}: +1 +Transaction 291 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29100}: +1 +Transaction 292 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29200}: +1 +Transaction 293 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29300}: +1 +Transaction 294 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29400}: +1 +Transaction 295 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29500}: +1 +Transaction 296 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29600}: +1 +Transaction 297 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29700}: +1 +Transaction 298 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29800}: +1 +Transaction 299 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 29900}: +1 +Transaction 300 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30000}: +1 +Transaction 301 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30100}: +1 +Transaction 302 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30200}: +1 +Transaction 303 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30300}: +1 +Transaction 304 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30400}: +1 +Transaction 305 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30500}: +1 +Transaction 306 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30600}: +1 +Transaction 307 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30700}: +1 +Transaction 308 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30800}: +1 +Transaction 309 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 30900}: +1 +Transaction 310 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31000}: +1 +Transaction 311 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31100}: +1 +Transaction 312 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31200}: +1 +Transaction 313 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31300}: +1 +Transaction 314 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31400}: +1 +Transaction 315 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31500}: +1 +Transaction 316 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31600}: +1 +Transaction 317 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31700}: +1 +Transaction 318 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31800}: +1 +Transaction 319 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 31900}: +1 +Transaction 320 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32000}: +1 +Transaction 321 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32100}: +1 +Transaction 322 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32200}: +1 +Transaction 323 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32300}: +1 +Transaction 324 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32400}: +1 +Transaction 325 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32500}: +1 +Transaction 326 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32600}: +1 +Transaction 327 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32700}: +1 +Transaction 328 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32800}: +1 +Transaction 329 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 32900}: +1 +Transaction 330 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33000}: +1 +Transaction 331 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33100}: +1 +Transaction 332 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33200}: +1 +Transaction 333 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33300}: +1 +Transaction 334 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33400}: +1 +Transaction 335 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33500}: +1 +Transaction 336 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33600}: +1 +Transaction 337 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33700}: +1 +Transaction 338 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33800}: +1 +Transaction 339 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 33900}: +1 +Transaction 340 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34000}: +1 +Transaction 341 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34100}: +1 +Transaction 342 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34200}: +1 +Transaction 343 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34300}: +1 +Transaction 344 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34400}: +1 +Transaction 345 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34500}: +1 +Transaction 346 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34600}: +1 +Transaction 347 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34700}: +1 +Transaction 348 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34800}: +1 +Transaction 349 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 34900}: +1 +Transaction 350 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35000}: +1 +Transaction 351 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35100}: +1 +Transaction 352 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35200}: +1 +Transaction 353 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35300}: +1 +Transaction 354 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35400}: +1 +Transaction 355 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35500}: +1 +Transaction 356 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35600}: +1 +Transaction 357 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35700}: +1 +Transaction 358 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35800}: +1 +Transaction 359 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 35900}: +1 +Transaction 360 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36000}: +1 +Transaction 361 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36100}: +1 +Transaction 362 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36200}: +1 +Transaction 363 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36300}: +1 +Transaction 364 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36400}: +1 +Transaction 365 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36500}: +1 +Transaction 366 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36600}: +1 +Transaction 367 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36700}: +1 +Transaction 368 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36800}: +1 +Transaction 369 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 36900}: +1 +Transaction 370 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37000}: +1 +Transaction 371 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37100}: +1 +Transaction 372 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37200}: +1 +Transaction 373 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37300}: +1 +Transaction 374 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37400}: +1 +Transaction 375 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37500}: +1 +Transaction 376 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37600}: +1 +Transaction 377 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37700}: +1 +Transaction 378 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37800}: +1 +Transaction 379 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 37900}: +1 +Transaction 380 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38000}: +1 +Transaction 381 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38100}: +1 +Transaction 382 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38200}: +1 +Transaction 383 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38300}: +1 +Transaction 384 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38400}: +1 +Transaction 385 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38500}: +1 +Transaction 386 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38600}: +1 +Transaction 387 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38700}: +1 +Transaction 388 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38800}: +1 +Transaction 389 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 38900}: +1 +Transaction 390 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39000}: +1 +Transaction 391 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39100}: +1 +Transaction 392 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39200}: +1 +Transaction 393 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39300}: +1 +Transaction 394 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39400}: +1 +Transaction 395 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39500}: +1 +Transaction 396 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39600}: +1 +Transaction 397 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39700}: +1 +Transaction 398 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39800}: +1 +Transaction 399 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 39900}: +1 +Transaction 400 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40000}: +1 +Transaction 401 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40100}: +1 +Transaction 402 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40200}: +1 +Transaction 403 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40300}: +1 +Transaction 404 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40400}: +1 +Transaction 405 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40500}: +1 +Transaction 406 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40600}: +1 +Transaction 407 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40700}: +1 +Transaction 408 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40800}: +1 +Transaction 409 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 40900}: +1 +Transaction 410 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41000}: +1 +Transaction 411 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41100}: +1 +Transaction 412 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41200}: +1 +Transaction 413 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41300}: +1 +Transaction 414 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41400}: +1 +Transaction 415 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41500}: +1 +Transaction 416 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41600}: +1 +Transaction 417 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41700}: +1 +Transaction 418 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41800}: +1 +Transaction 419 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 41900}: +1 +Transaction 420 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42000}: +1 +Transaction 421 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42100}: +1 +Transaction 422 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42200}: +1 +Transaction 423 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42300}: +1 +Transaction 424 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42400}: +1 +Transaction 425 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42500}: +1 +Transaction 426 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42600}: +1 +Transaction 427 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42700}: +1 +Transaction 428 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42800}: +1 +Transaction 429 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 42900}: +1 +Transaction 430 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43000}: +1 +Transaction 431 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43100}: +1 +Transaction 432 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43200}: +1 +Transaction 433 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43300}: +1 +Transaction 434 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43400}: +1 +Transaction 435 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43500}: +1 +Transaction 436 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43600}: +1 +Transaction 437 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43700}: +1 +Transaction 438 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43800}: +1 +Transaction 439 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 43900}: +1 +Transaction 440 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44000}: +1 +Transaction 441 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44100}: +1 +Transaction 442 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44200}: +1 +Transaction 443 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44300}: +1 +Transaction 444 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44400}: +1 +Transaction 445 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44500}: +1 +Transaction 446 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44600}: +1 +Transaction 447 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44700}: +1 +Transaction 448 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44800}: +1 +Transaction 449 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 44900}: +1 +Transaction 450 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45000}: +1 +Transaction 451 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45100}: +1 +Transaction 452 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45200}: +1 +Transaction 453 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45300}: +1 +Transaction 454 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45400}: +1 +Transaction 455 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45500}: +1 +Transaction 456 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45600}: +1 +Transaction 457 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45700}: +1 +Transaction 458 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45800}: +1 +Transaction 459 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 45900}: +1 +Transaction 460 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46000}: +1 +Transaction 461 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46100}: +1 +Transaction 462 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46200}: +1 +Transaction 463 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46300}: +1 +Transaction 464 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46400}: +1 +Transaction 465 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46500}: +1 +Transaction 466 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46600}: +1 +Transaction 467 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46700}: +1 +Transaction 468 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46800}: +1 +Transaction 469 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 46900}: +1 +Transaction 470 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47000}: +1 +Transaction 471 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47100}: +1 +Transaction 472 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47200}: +1 +Transaction 473 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47300}: +1 +Transaction 474 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47400}: +1 +Transaction 475 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47500}: +1 +Transaction 476 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47600}: +1 +Transaction 477 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47700}: +1 +Transaction 478 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47800}: +1 +Transaction 479 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 47900}: +1 +Transaction 480 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48000}: +1 +Transaction 481 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48100}: +1 +Transaction 482 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48200}: +1 +Transaction 483 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48300}: +1 +Transaction 484 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48400}: +1 +Transaction 485 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48500}: +1 +Transaction 486 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48600}: +1 +Transaction 487 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48700}: +1 +Transaction 488 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48800}: +1 +Transaction 489 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 48900}: +1 +Transaction 490 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49000}: +1 +Transaction 491 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49100}: +1 +Transaction 492 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49200}: +1 +Transaction 493 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49300}: +1 +Transaction 494 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49400}: +1 +Transaction 495 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49500}: +1 +Transaction 496 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49600}: +1 +Transaction 497 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49700}: +1 +Transaction 498 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49800}: +1 +Transaction 499 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 49900}: +1 +Transaction 500 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50000}: +1 +Transaction 501 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50100}: +1 +Transaction 502 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50200}: +1 +Transaction 503 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50300}: +1 +Transaction 504 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50400}: +1 +Transaction 505 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50500}: +1 +Transaction 506 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50600}: +1 +Transaction 507 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50700}: +1 +Transaction 508 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50800}: +1 +Transaction 509 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 50900}: +1 +Transaction 510 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51000}: +1 +Transaction 511 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51100}: +1 +Transaction 512 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51200}: +1 +Transaction 513 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51300}: +1 +Transaction 514 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51400}: +1 +Transaction 515 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51500}: +1 +Transaction 516 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51600}: +1 +Transaction 517 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51700}: +1 +Transaction 518 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51800}: +1 +Transaction 519 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 51900}: +1 +Transaction 520 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52000}: +1 +Transaction 521 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52100}: +1 +Transaction 522 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52200}: +1 +Transaction 523 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52300}: +1 +Transaction 524 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52400}: +1 +Transaction 525 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52500}: +1 +Transaction 526 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52600}: +1 +Transaction 527 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52700}: +1 +Transaction 528 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52800}: +1 +Transaction 529 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 52900}: +1 +Transaction 530 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53000}: +1 +Transaction 531 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53100}: +1 +Transaction 532 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53200}: +1 +Transaction 533 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53300}: +1 +Transaction 534 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53400}: +1 +Transaction 535 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53500}: +1 +Transaction 536 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53600}: +1 +Transaction 537 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53700}: +1 +Transaction 538 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53800}: +1 +Transaction 539 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 53900}: +1 +Transaction 540 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54000}: +1 +Transaction 541 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54100}: +1 +Transaction 542 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54200}: +1 +Transaction 543 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54300}: +1 +Transaction 544 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54400}: +1 +Transaction 545 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54500}: +1 +Transaction 546 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54600}: +1 +Transaction 547 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54700}: +1 +Transaction 548 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54800}: +1 +Transaction 549 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 54900}: +1 +Transaction 550 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55000}: +1 +Transaction 551 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55100}: +1 +Transaction 552 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55200}: +1 +Transaction 553 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55300}: +1 +Transaction 554 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55400}: +1 +Transaction 555 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55500}: +1 +Transaction 556 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55600}: +1 +Transaction 557 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55700}: +1 +Transaction 558 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55800}: +1 +Transaction 559 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 55900}: +1 +Transaction 560 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56000}: +1 +Transaction 561 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56100}: +1 +Transaction 562 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56200}: +1 +Transaction 563 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56300}: +1 +Transaction 564 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56400}: +1 +Transaction 565 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56500}: +1 +Transaction 566 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56600}: +1 +Transaction 567 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56700}: +1 +Transaction 568 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56800}: +1 +Transaction 569 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 56900}: +1 +Transaction 570 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57000}: +1 +Transaction 571 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57100}: +1 +Transaction 572 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57200}: +1 +Transaction 573 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57300}: +1 +Transaction 574 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57400}: +1 +Transaction 575 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57500}: +1 +Transaction 576 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57600}: +1 +Transaction 577 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57700}: +1 +Transaction 578 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57800}: +1 +Transaction 579 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 57900}: +1 +Transaction 580 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58000}: +1 +Transaction 581 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58100}: +1 +Transaction 582 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58200}: +1 +Transaction 583 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58300}: +1 +Transaction 584 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58400}: +1 +Transaction 585 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58500}: +1 +Transaction 586 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58600}: +1 +Transaction 587 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58700}: +1 +Transaction 588 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58800}: +1 +Transaction 589 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 58900}: +1 +Transaction 590 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59000}: +1 +Transaction 591 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59100}: +1 +Transaction 592 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59200}: +1 +Transaction 593 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59300}: +1 +Transaction 594 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59400}: +1 +Transaction 595 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59500}: +1 +Transaction 596 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59600}: +1 +Transaction 597 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59700}: +1 +Transaction 598 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59800}: +1 +Transaction 599 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 59900}: +1 +Transaction 600 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60000}: +1 +Transaction 601 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60100}: +1 +Transaction 602 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60200}: +1 +Transaction 603 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60300}: +1 +Transaction 604 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60400}: +1 +Transaction 605 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60500}: +1 +Transaction 606 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60600}: +1 +Transaction 607 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60700}: +1 +Transaction 608 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60800}: +1 +Transaction 609 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 60900}: +1 +Transaction 610 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61000}: +1 +Transaction 611 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61100}: +1 +Transaction 612 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61200}: +1 +Transaction 613 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61300}: +1 +Transaction 614 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61400}: +1 +Transaction 615 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61500}: +1 +Transaction 616 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61600}: +1 +Transaction 617 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61700}: +1 +Transaction 618 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61800}: +1 +Transaction 619 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 61900}: +1 +Transaction 620 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62000}: +1 +Transaction 621 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62100}: +1 +Transaction 622 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62200}: +1 +Transaction 623 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62300}: +1 +Transaction 624 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62400}: +1 +Transaction 625 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62500}: +1 +Transaction 626 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62600}: +1 +Transaction 627 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62700}: +1 +Transaction 628 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62800}: +1 +Transaction 629 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 62900}: +1 +Transaction 630 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63000}: +1 +Transaction 631 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63100}: +1 +Transaction 632 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63200}: +1 +Transaction 633 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63300}: +1 +Transaction 634 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63400}: +1 +Transaction 635 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63500}: +1 +Transaction 636 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63600}: +1 +Transaction 637 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63700}: +1 +Transaction 638 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63800}: +1 +Transaction 639 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 63900}: +1 +Transaction 640 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64000}: +1 +Transaction 641 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64100}: +1 +Transaction 642 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64200}: +1 +Transaction 643 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64300}: +1 +Transaction 644 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64400}: +1 +Transaction 645 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64500}: +1 +Transaction 646 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64600}: +1 +Transaction 647 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64700}: +1 +Transaction 648 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64800}: +1 +Transaction 649 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 64900}: +1 +Transaction 650 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65000}: +1 +Transaction 651 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65100}: +1 +Transaction 652 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65200}: +1 +Transaction 653 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65300}: +1 +Transaction 654 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65400}: +1 +Transaction 655 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65500}: +1 +Transaction 656 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65600}: +1 +Transaction 657 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65700}: +1 +Transaction 658 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65800}: +1 +Transaction 659 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 65900}: +1 +Transaction 660 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66000}: +1 +Transaction 661 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66100}: +1 +Transaction 662 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66200}: +1 +Transaction 663 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66300}: +1 +Transaction 664 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66400}: +1 +Transaction 665 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66500}: +1 +Transaction 666 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66600}: +1 +Transaction 667 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66700}: +1 +Transaction 668 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66800}: +1 +Transaction 669 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 66900}: +1 +Transaction 670 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67000}: +1 +Transaction 671 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67100}: +1 +Transaction 672 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67200}: +1 +Transaction 673 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67300}: +1 +Transaction 674 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67400}: +1 +Transaction 675 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67500}: +1 +Transaction 676 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67600}: +1 +Transaction 677 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67700}: +1 +Transaction 678 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67800}: +1 +Transaction 679 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 67900}: +1 +Transaction 680 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68000}: +1 +Transaction 681 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68100}: +1 +Transaction 682 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68200}: +1 +Transaction 683 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68300}: +1 +Transaction 684 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68400}: +1 +Transaction 685 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68500}: +1 +Transaction 686 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68600}: +1 +Transaction 687 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68700}: +1 +Transaction 688 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68800}: +1 +Transaction 689 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 68900}: +1 +Transaction 690 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69000}: +1 +Transaction 691 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69100}: +1 +Transaction 692 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69200}: +1 +Transaction 693 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69300}: +1 +Transaction 694 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69400}: +1 +Transaction 695 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69500}: +1 +Transaction 696 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69600}: +1 +Transaction 697 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69700}: +1 +Transaction 698 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69800}: +1 +Transaction 699 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 69900}: +1 +Transaction 700 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70000}: +1 +Transaction 701 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70100}: +1 +Transaction 702 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70200}: +1 +Transaction 703 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70300}: +1 +Transaction 704 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70400}: +1 +Transaction 705 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70500}: +1 +Transaction 706 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70600}: +1 +Transaction 707 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70700}: +1 +Transaction 708 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70800}: +1 +Transaction 709 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 70900}: +1 +Transaction 710 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71000}: +1 +Transaction 711 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71100}: +1 +Transaction 712 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71200}: +1 +Transaction 713 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71300}: +1 +Transaction 714 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71400}: +1 +Transaction 715 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71500}: +1 +Transaction 716 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71600}: +1 +Transaction 717 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71700}: +1 +Transaction 718 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71800}: +1 +Transaction 719 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 71900}: +1 +Transaction 720 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72000}: +1 +Transaction 721 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72100}: +1 +Transaction 722 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72200}: +1 +Transaction 723 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72300}: +1 +Transaction 724 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72400}: +1 +Transaction 725 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72500}: +1 +Transaction 726 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72600}: +1 +Transaction 727 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72700}: +1 +Transaction 728 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72800}: +1 +Transaction 729 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 72900}: +1 +Transaction 730 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73000}: +1 +Transaction 731 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73100}: +1 +Transaction 732 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73200}: +1 +Transaction 733 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73300}: +1 +Transaction 734 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73400}: +1 +Transaction 735 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73500}: +1 +Transaction 736 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73600}: +1 +Transaction 737 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73700}: +1 +Transaction 738 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73800}: +1 +Transaction 739 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 73900}: +1 +Transaction 740 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74000}: +1 +Transaction 741 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74100}: +1 +Transaction 742 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74200}: +1 +Transaction 743 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74300}: +1 +Transaction 744 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74400}: +1 +Transaction 745 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74500}: +1 +Transaction 746 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74600}: +1 +Transaction 747 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74700}: +1 +Transaction 748 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74800}: +1 +Transaction 749 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 74900}: +1 +Transaction 750 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75000}: +1 +Transaction 751 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75100}: +1 +Transaction 752 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75200}: +1 +Transaction 753 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75300}: +1 +Transaction 754 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75400}: +1 +Transaction 755 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75500}: +1 +Transaction 756 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75600}: +1 +Transaction 757 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75700}: +1 +Transaction 758 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75800}: +1 +Transaction 759 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 75900}: +1 +Transaction 760 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76000}: +1 +Transaction 761 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76100}: +1 +Transaction 762 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76200}: +1 +Transaction 763 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76300}: +1 +Transaction 764 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76400}: +1 +Transaction 765 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76500}: +1 +Transaction 766 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76600}: +1 +Transaction 767 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76700}: +1 +Transaction 768 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76800}: +1 +Transaction 769 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 76900}: +1 +Transaction 770 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77000}: +1 +Transaction 771 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77100}: +1 +Transaction 772 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77200}: +1 +Transaction 773 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77300}: +1 +Transaction 774 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77400}: +1 +Transaction 775 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77500}: +1 +Transaction 776 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77600}: +1 +Transaction 777 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77700}: +1 +Transaction 778 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77800}: +1 +Transaction 779 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 77900}: +1 +Transaction 780 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78000}: +1 +Transaction 781 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78100}: +1 +Transaction 782 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78200}: +1 +Transaction 783 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78300}: +1 +Transaction 784 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78400}: +1 +Transaction 785 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78500}: +1 +Transaction 786 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78600}: +1 +Transaction 787 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78700}: +1 +Transaction 788 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78800}: +1 +Transaction 789 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 78900}: +1 +Transaction 790 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79000}: +1 +Transaction 791 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79100}: +1 +Transaction 792 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79200}: +1 +Transaction 793 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79300}: +1 +Transaction 794 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79400}: +1 +Transaction 795 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79500}: +1 +Transaction 796 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79600}: +1 +Transaction 797 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79700}: +1 +Transaction 798 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79800}: +1 +Transaction 799 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 79900}: +1 +Transaction 800 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80000}: +1 +Transaction 801 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80100}: +1 +Transaction 802 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80200}: +1 +Transaction 803 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80300}: +1 +Transaction 804 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80400}: +1 +Transaction 805 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80500}: +1 +Transaction 806 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80600}: +1 +Transaction 807 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80700}: +1 +Transaction 808 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80800}: +1 +Transaction 809 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 80900}: +1 +Transaction 810 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81000}: +1 +Transaction 811 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81100}: +1 +Transaction 812 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81200}: +1 +Transaction 813 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81300}: +1 +Transaction 814 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81400}: +1 +Transaction 815 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81500}: +1 +Transaction 816 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81600}: +1 +Transaction 817 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81700}: +1 +Transaction 818 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81800}: +1 +Transaction 819 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 81900}: +1 +Transaction 820 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82000}: +1 +Transaction 821 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82100}: +1 +Transaction 822 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82200}: +1 +Transaction 823 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82300}: +1 +Transaction 824 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82400}: +1 +Transaction 825 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82500}: +1 +Transaction 826 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82600}: +1 +Transaction 827 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82700}: +1 +Transaction 828 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82800}: +1 +Transaction 829 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 82900}: +1 +Transaction 830 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83000}: +1 +Transaction 831 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83100}: +1 +Transaction 832 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83200}: +1 +Transaction 833 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83300}: +1 +Transaction 834 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83400}: +1 +Transaction 835 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83500}: +1 +Transaction 836 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83600}: +1 +Transaction 837 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83700}: +1 +Transaction 838 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83800}: +1 +Transaction 839 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 83900}: +1 +Transaction 840 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84000}: +1 +Transaction 841 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84100}: +1 +Transaction 842 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84200}: +1 +Transaction 843 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84300}: +1 +Transaction 844 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84400}: +1 +Transaction 845 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84500}: +1 +Transaction 846 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84600}: +1 +Transaction 847 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84700}: +1 +Transaction 848 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84800}: +1 +Transaction 849 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 84900}: +1 +Transaction 850 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85000}: +1 +Transaction 851 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85100}: +1 +Transaction 852 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85200}: +1 +Transaction 853 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85300}: +1 +Transaction 854 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85400}: +1 +Transaction 855 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85500}: +1 +Transaction 856 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85600}: +1 +Transaction 857 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85700}: +1 +Transaction 858 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85800}: +1 +Transaction 859 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 85900}: +1 +Transaction 860 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86000}: +1 +Transaction 861 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86100}: +1 +Transaction 862 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86200}: +1 +Transaction 863 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86300}: +1 +Transaction 864 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86400}: +1 +Transaction 865 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86500}: +1 +Transaction 866 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86600}: +1 +Transaction 867 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86700}: +1 +Transaction 868 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86800}: +1 +Transaction 869 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 86900}: +1 +Transaction 870 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87000}: +1 +Transaction 871 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87100}: +1 +Transaction 872 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87200}: +1 +Transaction 873 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87300}: +1 +Transaction 874 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87400}: +1 +Transaction 875 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87500}: +1 +Transaction 876 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87600}: +1 +Transaction 877 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87700}: +1 +Transaction 878 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87800}: +1 +Transaction 879 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 87900}: +1 +Transaction 880 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88000}: +1 +Transaction 881 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88100}: +1 +Transaction 882 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88200}: +1 +Transaction 883 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88300}: +1 +Transaction 884 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88400}: +1 +Transaction 885 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88500}: +1 +Transaction 886 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88600}: +1 +Transaction 887 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88700}: +1 +Transaction 888 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88800}: +1 +Transaction 889 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 88900}: +1 +Transaction 890 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89000}: +1 +Transaction 891 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89100}: +1 +Transaction 892 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89200}: +1 +Transaction 893 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89300}: +1 +Transaction 894 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89400}: +1 +Transaction 895 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89500}: +1 +Transaction 896 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89600}: +1 +Transaction 897 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89700}: +1 +Transaction 898 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89800}: +1 +Transaction 899 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 89900}: +1 +Transaction 900 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90000}: +1 +Transaction 901 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90100}: +1 +Transaction 902 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90200}: +1 +Transaction 903 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90300}: +1 +Transaction 904 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90400}: +1 +Transaction 905 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90500}: +1 +Transaction 906 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90600}: +1 +Transaction 907 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90700}: +1 +Transaction 908 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90800}: +1 +Transaction 909 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 90900}: +1 +Transaction 910 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91000}: +1 +Transaction 911 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91100}: +1 +Transaction 912 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91200}: +1 +Transaction 913 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91300}: +1 +Transaction 914 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91400}: +1 +Transaction 915 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91500}: +1 +Transaction 916 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91600}: +1 +Transaction 917 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91700}: +1 +Transaction 918 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91800}: +1 +Transaction 919 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 91900}: +1 +Transaction 920 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92000}: +1 +Transaction 921 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92100}: +1 +Transaction 922 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92200}: +1 +Transaction 923 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92300}: +1 +Transaction 924 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92400}: +1 +Transaction 925 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92500}: +1 +Transaction 926 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92600}: +1 +Transaction 927 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92700}: +1 +Transaction 928 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92800}: +1 +Transaction 929 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 92900}: +1 +Transaction 930 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93000}: +1 +Transaction 931 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93100}: +1 +Transaction 932 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93200}: +1 +Transaction 933 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93300}: +1 +Transaction 934 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93400}: +1 +Transaction 935 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93500}: +1 +Transaction 936 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93600}: +1 +Transaction 937 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93700}: +1 +Transaction 938 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93800}: +1 +Transaction 939 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 93900}: +1 +Transaction 940 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94000}: +1 +Transaction 941 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94100}: +1 +Transaction 942 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94200}: +1 +Transaction 943 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94300}: +1 +Transaction 944 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94400}: +1 +Transaction 945 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94500}: +1 +Transaction 946 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94600}: +1 +Transaction 947 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94700}: +1 +Transaction 948 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94800}: +1 +Transaction 949 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 94900}: +1 +Transaction 950 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95000}: +1 +Transaction 951 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95100}: +1 +Transaction 952 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95200}: +1 +Transaction 953 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95300}: +1 +Transaction 954 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95400}: +1 +Transaction 955 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95500}: +1 +Transaction 956 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95600}: +1 +Transaction 957 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95700}: +1 +Transaction 958 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95800}: +1 +Transaction 959 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 95900}: +1 +Transaction 960 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96000}: +1 +Transaction 961 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96100}: +1 +Transaction 962 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96200}: +1 +Transaction 963 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96300}: +1 +Transaction 964 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96400}: +1 +Transaction 965 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96500}: +1 +Transaction 966 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96600}: +1 +Transaction 967 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96700}: +1 +Transaction 968 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96800}: +1 +Transaction 969 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 96900}: +1 +Transaction 970 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97000}: +1 +Transaction 971 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97100}: +1 +Transaction 972 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97200}: +1 +Transaction 973 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97300}: +1 +Transaction 974 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97400}: +1 +Transaction 975 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97500}: +1 +Transaction 976 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97600}: +1 +Transaction 977 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97700}: +1 +Transaction 978 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97800}: +1 +Transaction 979 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 97900}: +1 +Transaction 980 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98000}: +1 +Transaction 981 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98100}: +1 +Transaction 982 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98200}: +1 +Transaction 983 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98300}: +1 +Transaction 984 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98400}: +1 +Transaction 985 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98500}: +1 +Transaction 986 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98600}: +1 +Transaction 987 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98700}: +1 +Transaction 988 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98800}: +1 +Transaction 989 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 98900}: +1 +Transaction 990 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99000}: +1 +Transaction 991 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99100}: +1 +Transaction 992 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99200}: +1 +Transaction 993 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99300}: +1 +Transaction 994 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99400}: +1 +Transaction 995 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99500}: +1 +Transaction 996 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99600}: +1 +Transaction 997 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99700}: +1 +Transaction 998 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99800}: +1 +Transaction 999 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 99900}: +1 +Transaction 1000 +UniqueUserCount2: +UniqueUserCount2{.num_unique = 100000}: +1